2012-03-22 74 views
0

我試圖動態地創建一個表並將文本框放入其中。在下面的代碼中,我試圖爲每個k創建一個不同名稱的文本框。但是隻有k的最後一個值纔會顯示在文本框中。我想知道如何給文本框命名,以便顯示全部內容。在循環中動態創建文本框

for (int k = 0; k < tblCols; k++) 
{ 
    TableCell tc = new TableCell(); 
    TextBox txtCompanyName = new TextBox(); 
    txtCompanyName.Text = dsmissing.Tables[0].Rows[tblCols- 1]["NewCompanyName"].ToString(); 
tc.Controls.Add(txtCompanyName); 
} 
+0

你試過'txtCompanyName.Name'? – 2012-03-22 19:11:57

回答

0

替換該行

dsmissing.Tables[0].Rows[tblCols- 1]["NewCompanyName"].ToString(); 

隨着

dsmissing.Tables[0].Rows[k]["NewCompanyName"].ToString(); 

我假設你像下面談論ID。

for (int k = 0; k < tblCols; k++) 
{ 
    TableCell tc = new TableCell(); 
    TextBox txtCompanyName = new TextBox(); 
    txtCompanyName.Text = dsmissing.Tables[0].Rows[k]["NewCompanyName"].ToString(); 
    txtCompanyName.ID = Guid.NewGuid().ToString("N"); 
    tc.Controls.Add(txtCompanyName); 
} 
+0

txtCompanyName將具有dsmissing.Tables [0] .Rows [k] [「NewCompanyName」]。ToString()值。我想爲for循環中的每個文本框提供不同的名稱 – Ram 2012-03-22 19:14:11

+0

您的意思是說ID? textbox.ID? – Pankaj 2012-03-22 19:17:55

+0

沒錯。對不起,我知道你把它稱爲ID。我想爲每個文本框txtCompanyName1,txtCompanyName2,.... – Ram 2012-03-22 19:23:01

0

我想你的意思是不是要做到這一點:

for (int k = 0; k < tblCols; k++) 
{ 
    TableCell tc = new TableCell(); 
    TextBox txtCompanyName = new TextBox(); 
    //txtCompanyName.Text = dsmissing.Tables[0].Rows[tblCols-1 ["NewCompanyName"].ToString(); 
    txtCompanyName.Text = dsmissing.Tables[0].Rows[k]["NewCompanyName"].ToString(); 
    tc.Controls.Add(txtCompanyName); 
} 
0

這肯定會工作,這是很容易理解

protected void Page_Load(object sender, EventArgs e) 
{ 
    button1(); 
} 
protected void Page_Init(object sender, EventArgs e) 
{ 
    try 
    { 
     Label lbl = new Label(); 
     lbl.ID = "lbl_label"; 
     lbl.Text = "Enter the values"; 
     form1.Controls.Add(lbl); 
     TextBox tb = new TextBox(); 
     tb.ID = "tbx_textbox"; 
     form1.Controls.Add(tb); 
     Button bt = new Button(); 
     bt.ID = "bt_button"; 
     bt.Text = "click"; 
     form1.Controls.Add(bt); 

    } 
    catch (Exception ex) { } 
} 
public void button1() 
{ 
    Table table = new Table(); 
    TableRow row = null; 
    TableCell cell = null; 
    TextBox tbx1 = this.Page.FindControl("tbx_textbox") as TextBox; 
    try 
    { 
     int a = int.Parse(tbx1.Text); 
     for (int i = 0; i < a; i++) 
     { 
      row = new TableRow(); 
      cell = new TableCell(); 
      TextBox tx = new TextBox(); 
      tx.ID = "box" + i.ToString(); 
      cell.Controls.Add(tx); 
      row.Cells.Add(cell); 
      table.Rows.Add(row); 
      form1.Controls.Add(table); 
     } 
     } 
    catch (Exception ex) { } 
    finally 
    { 
     table = null; 
    } 
}