如何将一个表的单元格从一个方法传递到另一个方法?

时间:2015-02-03 16:02:18

标签: c# asp.net

我必须在另一种方法中使用一种方法中定义的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);

}

1 个答案:

答案 0 :(得分:0)

如果您为TableCell控件提供ID,则可以使用

row5.FindControl("cell5_1id");

或者,如果您对单元格的顺序有信心,可以通过索引

访问它们
row5.Cells[5];