我想知道是否有可能用一個foreach填充不同的表格。在代碼behinde中動態引用控件(表)
我有5個表tbl0,tbl1,tbl2,tbl3,tbl4,並且此刻我使用每個表下一次以下的代碼。
//fill *dtTable* with SQL
foreach (DataRow dr in dtTable.Rows)
{
TableHeaderRow tHRow = new TableHeaderRow();
TableHeaderCell tHeader = new TableHeaderCell();
tHeader.Text = dr.Field<string>("Loc");
tHRow.Cells.Add(tHeader);
tbl0.Rows.Add(tHRow);
//fill 'hl' with sql
tCell.Controls.Add(hl);
tRow.Controls.Add(tCell);
tbl0.Rows.Add(tRow);
}
我thougt的是這樣的:
//fill *dtTable* with SQL
int i = 0;
foreach (DataRow dr in dtTable.Rows)
{
string TABLENAME = "tbl"+i;
TableHeaderRow tHRow = new TableHeaderRow();
TableHeaderCell tHeader = new TableHeaderCell();
tHeader.Text = dr.Field<string>("Loc");
tHRow.Cells.Add(tHeader);
(Table)this.FindControl(TABLENAME).Rows.Add(tHRow); // does not funktion, just an idea
//fill 'hl' with sql
tCell.Controls.Add(hl);
tRow.Controls.Add(tCell);
(Table)this.FindControl(TABLENAME).Rows.Add(tRow); // does not funktion, just an idea
i++;
}
我怎麼能有一個排序的動態表名,所以我不會需要相同的代碼五倍?
用'foreach'做這件事會有點笨拙。你爲什麼試圖避免「for」循環?我假設每個表具有相同的行數。 – AntiTcb
每個表可以有不同數量的行,每個DataRow創建一個表 – MaxW