动态绘制列表框

时间:2012-08-03 06:07:23

标签: c#

我想在C#中的表单上动态绘制列表框,1或1000。我该怎么办? 我从sql server获取数据并填写列表框。

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

借助此代码我静态地绘制列表框,但我想动态绘制它们

1 个答案:

答案 0 :(得分:0)

代码:动态添加 Listitem

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

}

代码:动态添加列表框控件

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

        }