2012-08-03 89 views
-2

我想動態地繪製列表框,在C#中的窗體上1或1000。我該怎麼辦? 我正在從sql服務器獲取數據並填充列表框。動態繪製列表框

da = new SqlDataAdapter(); 
      dt = new DataTable(); 
      da.SelectCommand = new SqlCommand("select column_name from information_schema.columns where table_name='"+listBox1.SelectedItem+"'", myCon); 
      da.Fill(dt); 
      int x = dt.Rows.Count; 
      listBox2.Items.Clear(); 
      listBox2.Items.Add(listBox1.SelectedItem); 
      for (int i = 0; i < x;i++) 
       listBox2.Items.Add(Convert.ToString(dt.Rows[i][0])); 
      myCon.Close(); 

與此代碼我畫靜態列表框中的幫助,但我想提請他們動態

+0

什麼類型的客戶您使用的是?什麼是動態的,列表框的數量或列表框的內容?你看數據綁定了嗎? – 2012-08-03 06:41:44

回答

0

代碼:要添加列表項動態

Default.apsx

<asp:ListBox ID="ListBox1" runat="server"></asp:ListBox> 

代碼背後:

DataTable dt = ds.Tables[0]; 
for (int i = 0; i < dt.Rows.Count; i++) 
{ 
    string id = dt.Rows[i][0].ToString(); 
    string value = dt.Rows[i][1].ToString(); 

    ListItem li=new ListItem(); 
    li.Text = id; 
    li.Value = value; 
    ListBox1.Items.Add(li); 

} 

代碼:添加ListBox控件動態

<asp:Panel ID="Panel1" runat="server"> 
     </asp:Panel> 

代碼背後:

for (int i = 0; i < numberOfListBox ; i++) 
     { 
      ListBox listb = new ListBox(); 
      ListItem lItem = new ListItem(); 
      lItem.Value = i.ToString(); 
      lItem.Text = "item no" + i; 
      listb.Items.Add(lItem); 
      Panel1.Controls.Add(listb); 

     }