我正在查詢訪問表,並使用返回的數據查詢我需要能夠創建控件。現在我的代碼的問題是(我顯然需要比我更好地瞭解循環)代碼執行完全按照它應該執行的第一個foreach循環,然後移動到第二個foreach循環。所以我擁有所有的標籤 - 然後我擁有所有的文本框。我需要它是一對一的關係。所以標籤文本框。這是我目前沒有產生預期結果的代碼。有人可以幫助我在這個調整產生的標籤的1對1的關係所期望的結果,以文本框基於查詢返回的數據動態創建控件
System.Collections.Hashtable lookup = new System.Collections.Hashtable();
OleDbConnection olecon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + oName);
olecon.Open();
OleDbCommand command = new OleDbCommand("Query Data Goes Here", olecon);
OleDbCommand command1 = new OleDbCommand("Query Data Goes Here", olecon);
dr = command.ExecuteReader();
while (dr.Read())
{
labelNames.Add(dr[0].ToString());
}
dr.Close();
dr = command1.ExecuteReader();
while (dr.Read())
{
textboxNames.Add(dr[0].ToString());
}
dr.Close();
foreach (string label in labelNames)
{
Label lbl = new Label();
lbl.Name = "lbl_" + index;
lbl.Text = label;
lbl.AutoSize = true;
Form1.Controls.Add(lbl);
index++;
}
foreach (string textbox in textboxNames)
{
TextBox tbx = new TextBox();
tbx.Name = "txt_" + counter;
tbx.AutoSize = true;
Form1.Controls.Add(tbx);
counter++;
}
像@ Rahul的回答說,你的代碼示例並沒有真正強調需要使用第二個查詢來創建文本框。如果您刪除了您認爲與您的問題無關的信息,並且您承諾保留第二個查詢,那麼我認爲這要歸結爲確保您的兩個查詢返回相同數量的記錄。 – 2014-10-29 15:01:01