动态创建和添加控件以动态创建表控件

时间:2015-04-06 05:12:18

标签: c# webforms

我提出的问题"随机"在spefic中添加控件 表格单元格。例如

如果我调用功能CreateTable(),它应该创建表 具有不同数量的行和列,然后例如如果i 想要一个单元格(0,1)中的文本框,单元格(2,1)中的下拉列表然后再一个文本 Cell(5,1)等区域控制(你得到我的观点,我不是 放一种控件),如何编码。控制状态应该保存在表中。每当我打开特殊的webform时,它都会显示我之前创建的所有控件

1 个答案:

答案 0 :(得分:0)

private void CreateTable(short noOfRows)
{
    PlaceHolder p1 = new PlaceHolder();

    Table table1 = new Table();
    table1.BorderWidth = 1;
    table1.BorderStyle = BorderStyle.Solid;

    TableRow[] rows = new TableRow[noOfRows];

    for (int i = 0; i < rows.Length; i++)
    {
        rows[i] = new TableRow();
    }

    table1.Rows.AddRange(rows);

    TextBox t1 = new TextBox();
    t1.Text = "Hello";
    t1.EnableViewState = true;

    TextBox t2 = new TextBox();
    t2.Text = "World";
    t2.EnableViewState = true;

    Button btnOk = new Button();
    btnOk.EnableViewState = true;
    btnOk.Text = "OK";

    Button btnCancel = new Button();
    btnCancel.EnableViewState = true;
    btnCancel.Text = "Cancel";


    TableCell cell1=new TableCell();
    TableCell cell2 = new TableCell();
    TableCell cell3 = new TableCell();
    TableCell cell4 = new TableCell();

    cell1.Controls.Add(t1);
    cell2.Controls.Add(t2);
    cell3.Controls.Add(btnOk);
    cell4.Controls.Add(btnCancel);

    table1.Rows[0].Cells.AddAt(0, cell1);
    table1.Rows[0].Cells.AddAt(1, cell2);
    table1.Rows[1].Cells.AddAt(0, cell3);
    table1.Rows[1].Cells.AddAt(1, cell4);

    p1.Controls.Add(table1); 
    form1.Controls.Add(p1);        

}