我有一个 ComboBox 控件。
我将此控件绑定到DataSet表。
以下是代码:
comboBox.Items.Add(("Select"));
comboBox.DataSource = DataSet.ColorTable;
comboBox.DisplayMember = DataSet.ColorTable.ColorNameColumn.ColumnName;
comboBox.ValueMember = DataSet.ColorTable.ColorIDColumn.ColumnName;
我得到了这个结果:
我想在列表顶部显示 SELECT:字样。所以我需要在comboBox控件中添加另外的Item。 这是我如何实现它:
cmbCategory.Items.Add(("Select"));
但结果仍与上述相同。我只获得了列表顶部没有 SELECT:字样的颜色。
我知道如何将此字符串 - SELECT:添加到ComboBox控件并设置为此字符串ValueMember
?
答案 0 :(得分:7)
改为使用Insert
方法。
cmbCategory.Items.Insert(0, "Select");
注意:将此代码放在数据绑定之后。
答案 1 :(得分:3)
您可以先将颜色集合添加到array
或dataset
(如果您是从数据库中获取),然后添加项目“select”,然后添加数组的每个元素或dataset
。
在Form_Load
函数中以及颜色集合数组或数据库中发生更改的任何位置执行此操作。
答案 2 :(得分:2)
//This will set Display member and value member
comboBox.DisplayMember = "ColorName";
comboBox.ValueMember = "ColorCode";
//This will add a new row to table in binded dataset
DataRow dr = dal.MyProperty_dsColors.Tables["ColorInfo"].NewRow();
dr["ColorName"] = "Select Color"; //SomeName
dr["ColorCode"] = 001; //Some ID
dal.MyProperty_dsColors.Tables["ColorInfo].Rows.Add(dr);
//binding dataSource
comboBox.DataSource = dal.MyProperty_dsColors.Tables["ColorInfo"];
答案 3 :(得分:1)
什么也可以帮助你设置ComboBox而不必在弹出窗口到达时“选择”它... 选择您的ComboBox,在属性选项卡下,选择Appearance-> Drop Down Style并选择DropDownList。
答案 4 :(得分:0)
如果我们想在combobox
中添加手动值(例如integers
),可以使用for循环来完成:
// sample code
int lower=1;
int higher=500;
for (int i=lower; i<=higher; i++)
combo_values.Items.Add(i.ToString());
请注意,您必须使用int.Parse(combo_values.Text)
命令来读取值。