2015-04-06 172 views
-1

我的問題我要求「隨機」添加控件spefic 表格單元格。例如如果我呼叫funtion CreateTable(),它應該創建表格 不同數量的行和列,然後例如,如果我想 中的文本框在單元格(0,1),下拉單元格(2 ,1)然後再次文本 區域控制在單元格(5,1)等等等等(你知道我的觀點,我不是 把一種類型的控制),我怎麼能編碼。控制狀態應該保存在表。每當我打開particylar webform它顯示shos所有我控制之前創建的控制動態創建並添加控件以動態創建表控件

回答

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);   

} 
+0

謝謝,但我的要求是,每個webform有不同的控制。當我選擇一個控制它應該在其他網絡表單中顯示。控件可以是任何類似文本框,複選框,下拉菜單中的標籤名稱將會改變,並且它應該顯示在網頁上。 – user2524673 2015-04-06 08:04:45

+0

像主窗體這樣的控件,因爲每個窗體都有不同的控件和標籤名稱,每次我們的需求改變時都需要創建新窗體,並且需要兩天時間。所以,我想要做一些像maste控件窗體 – user2524673 2015-04-06 08:08:35

+0

那麼你正在創建按需創建的動態Web表單,我是否正確? – Shyju 2015-04-06 08:23:06