private void PopulateComboBox()
{
SqlConnection connection;
SqlCommand command;
SqlDataReader reader;
DataTable dt;
using (connection = new SqlConnection("connection string here"))
{
using (command = new SqlCommand("sql query here", connection))
{
connection.Open();
using (reader = command.ExecuteReader())
{
dt = new DataTable();
dt.Load(reader);
ComboxBox1.ValueMember = "col1";
ComboxBox1.DisplayMember = "col2";
ComboxBox1.DataSource = dt;
}
connection.Close();
}
}
}
上面的代码工作正常。但是,我想在ComboBox1的索引0处添加一个静态条目以及数据库中的上述动态条目。静态索引0值应为"选择一个值"。
如何在ComboBox中组合静态和动态数据?
答案 0 :(得分:1)
您可以在将空记录绑定到DataTable
之前将空记录插入ComboBox
:
dt = new DataTable();
dt.Load(reader);
DataRow row = dt.NewRow();
row["col1"] = "Something";
row["col2"] = "Something else";
dt.Rows.InsertAt(row, 0);
ComboxBox1.ValueMember = "col1";
ComboxBox1.DisplayMember = "col2";
ComboxBox1.DataSource = dt;
答案 1 :(得分:0)
您可以尝试:
comboBox1.Items.Add(new ListItem("Text", "Value"))
comboBox1.Items[0].Text = "Select a value";
并在你的sql代码中:
.......
using (reader = command.ExecuteReader())
{
dt = new DataTable();
dt.Load(reader);
comboBox1.Items.Add("col1");
...
}
答案 2 :(得分:0)
在绑定组合框之前,使用dt.Rows.InsertAt(Datarow row, int pos)
在位置0插入新行。