我必须在另一种方法中使用一种方法中定义的TableCell吗? 我怎么能通过牢房?有很多细胞。是否有更短的方式来传递所有细胞?
主要方法:
while (dr.Read())
{
// for each student, 4 rows are there
TableRow row5 = new TableRow(); // marks obtained
TableRow row6 = new TableRow(); // grade
TableRow row7 = new TableRow(); // credits
TableRow row8 = new TableRow(); // GP*C
Table1.Controls.Add(row5);
Table1.Controls.Add(row6);
Table1.Controls.Add(row7);
Table1.Controls.Add(row8);
fill_marks(dr,row5,row6,row7,row8);
assign_grade(dr, row5, row6, row7, row8);
}
fill_marks方法通过创建单元格并添加到行来填充行。
public void fill_marks(SqlDataReader dr, TableRow row5, TableRow row6, TableRow row7, TableRow row8)
{
TableCell cell5_1 = new TableCell();
cell5_1.BorderStyle = BorderStyle.Solid;
cell5_1.Text = Convert.ToInt32(dr[0]).ToString();
cell5_1.RowSpan = 4;
row5.Cells.Add(cell5_1);
//name
TableCell cell5_2 = new TableCell();
cell5_2.BorderStyle = BorderStyle.Solid;
cell5_2.Text = dr[1].ToString();
cell5_2.RowSpan = 4;
row5.Cells.Add(cell5_2);
}
我正在尝试使用assign_grade中的fill_marks中定义的单元格。
public void assign_grade(SqlDataReader dr, TableRow row5, TableRow row6, TableRow row7, TableRow row8)
{
TableCell cell6_6 = new TableCell();
cell6_6.BorderStyle = BorderStyle.Solid;
cell6_6.Text = ; // I want to put content of cell5_1 to cell6_6
row6.Cells.Add(cell6_6);
}
答案 0 :(得分:0)
如果您为TableCell控件提供ID,则可以使用
row5.FindControl("cell5_1id");
或者,如果您对单元格的顺序有信心,可以通过索引
访问它们row5.Cells[5];