2008-10-08 67 views
1

我有一些代碼,它將新單元格添加到表格中並用文本框填充它們。在循環內創建控件

到目前爲止我編寫它的方式工作得很好:

 TableCell tCell1 = new TableCell(); 
     TableCell tCell2 = new TableCell(); 
     TableCell tCell3 = new TableCell(); 
     TableCell tCell4 = new TableCell(); 
     TableCell tCell5 = new TableCell(); 
     TableCell tCell6 = new TableCell(); 
     TableCell tCell7 = new TableCell(); 

     TextBox txt1 = new TextBox(); 
     TextBox txt2 = new TextBox(); 
     TextBox txt3 = new TextBox(); 
     TextBox txt4 = new TextBox(); 
     TextBox txt5 = new TextBox(); 
     TextBox txt6 = new TextBox(); 
     TextBox txt7 = new TextBox(); 

     tCell1.Controls.Add(txt1); 
     tCell2.Controls.Add(txt2); 
     tCell3.Controls.Add(txt3); 
     tCell4.Controls.Add(txt4); 
     tCell5.Controls.Add(txt5); 
     tCell6.Controls.Add(txt6); 
     tCell7.Controls.Add(txt7); 

     tRow.Cells.Add(tCell1); 
     tRow.Cells.Add(tCell2); 
     tRow.Cells.Add(tCell3); 
     tRow.Cells.Add(tCell4); 
     tRow.Cells.Add(tCell5); 
     tRow.Cells.Add(tCell6); 
     tRow.Cells.Add(tCell7); 

正如你可以看到有4個基本上得到指令重複7次。我相信在FOR循環中只需要4行代碼就可以實現這一點,並且所有的名字都是動態分配的,但是我似乎無法找到任何能夠指示我如何處理做到這一點。

喜歡的東西,以下是我所追求的:

for (int i = 0; i < 6; i++) 
    { 

     TableCell tCell[i] = new TableCell(); 
     TextBox txt[i] = new TextBox(); 
     tCell[i].Controls.Add(txt[i]); 
     tRow.Cells.Add(tCell[i]); 

    } 

任何幫助將非常感激。

+0

確保將i <6更改爲i <7或i <= 6 – 2008-10-08 12:51:08

回答

2

我想這應該這樣做:

for (int i = 0; i < 7; i++) 
    { 

     TableCell tCell = new TableCell(); 
     TextBox txt = new TextBox(); 
     tCell.Controls.Add(txt); 
     tRow.Cells.Add(tCell); 

    } 

確保6改爲7

0

這應該工作正常嗎?

for (int i = 0; i < 6; i++) 
{ 
    TableCell tCell = new TableCell(); 
    TextBox txt = new TextBox(); 
    tCell.Controls.Add(txt); 
    tRow.Cells.Add(tCell); 
} 

我真的不明白你需要什麼名字。
您是否打算使用「txt5」名稱作爲對特定文本框的引用?
爲什麼不只是使用tRow.Cells[4].Controls[0] As TextBox

0

你居然寫了什麼看起來非常接近我。儘管如此,還有幾點需要記住。我不相信你需要數組索引。只要tRow在循環外初始化,它就會每次添加新的元素。您也可能想要設置每個文本框的ID屬性,以便您可以訪問任何特定的內容,您可能正在尋找道路。

0

感謝所有有用的答案。對於那些提出有關我在陣列中做什麼的問題,我不是!這只是我想要實現的一個例子。

Ian和Lars在事實上得到了正確的想法,因爲我需要稍後參考這些文本框,所以我只需要使用Eugene和Lubos的解決方案,並確保我添加了一行可以爲它們提供順序ID的行(txt1,txt2等),以便我可以做到這一點。

再次感謝所有精彩(和快速!)的輸入,我現在愛上了這個網站!