-2

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

このコードの助けを借りて、リストボックスを静的に描画しますが、動的に描画したい

4

1 に答える 1

0

コード: Listitemを動的に追加するには

デフォルト.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);

        }
于 2012-08-03T06:35:00.883 に答える