在组合框中组合静态和动态数据
本文关键字:组合 动态 数据 静态 | 更新日期: 2023-09-27 18:05:16
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的值应该是"Select a value"
如何在ComboBox中组合静态和动态数据?
您可以在将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;
您可以尝试:
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");
...
}
在绑定组合框之前,使用dt.Rows.InsertAt(Datarow row, int pos)
在位置0插入新行