Table控件中添加Row
DataTable mDTable = new M_DAL.DB_Admin().ReturnDTNoOrder(gstablename);DataTable dt=new M_DAL.DB_Admin().ReturnDataTable(gdtablename,"ZGBH='" + E_ID + "'");
TableRow tr=new TableRow();
for (int i = 0; i <= mDTable.Rows.Count - 1; i++)
{
if (mDTable.Rows[i]["XMSX"].ToString() != "5" && mDTable.Rows[i]["XMSX"].ToString() != "6" && mDTable.Rows[i]["GZXMDM"].ToString() != "")
{
if(k%4==0&&k!=0)
{
mTable.Rows.Add(tr);
tr.Cells.Clear();
//tr = new TableRow();
[color=#FF0000]问题:这里是检索数据库,然后根据数据库中的记录来动态创建Table控件。有一个Row对象的实例,其中已经添加好数据,然后“mTable.Rows.Add(tr)”,添加到Table控件中。为了添加新的数据,然后"tr.Cells.Clear();",可这样以后在Table控件中刚刚添加的哪一行数据就没了。如果在添加完一行以后,“tr = new TableRow();”而不是“tr.Cells.Clear();”,那么这样原来刚刚添加的数据还有,而且还可以继续添加新的数据,请问这是什么原因???
[/color]
}
TableCell tc1=new TableCell();
tc1.Text=mDTable.Rows[i]["GZXMMC"].ToString()+":";
tr.Cells.Add(tc1);
TableCell tc2=new TableCell();
tc2.Text=dt.Rows[0][mDTable.Rows[i]["GZXMDM"].ToString()].ToString();
tr.Cells.Add(tc2);
k++;
j = i;
}
}
if (j % 4 != 0)
{
mTable.Rows.Add(tr);
}
} --------------------编程问答-------------------- tr = new TableRow();等于你又新建了一行啊。 --------------------编程问答-------------------- 你应该把tr的定义TableRow tr=new TableRow();放到for循环里面
否则你永远只有一行 --------------------编程问答-------------------- 只有调用一次row.Add()方法才能把tr添加到table中,row.add()是可以重复添加,table中可以出现相同的row --------------------编程问答--------------------
补充:.NET技术 , ASP.NET