在我的项目中,我正在尝试从ComboBox
填充DataSet
。我成功填充了,但ComboBox
内的值并不明显(因为它显示了DataSet
中的值)。我无法将ComboBox
绑定到DataSet
,因为我在填充值时首先添加“选择”文本。
ComboBox --> cmb
DataSet --> ds
DataSet Column Name --> value(string)
这是我的代码:
cmb.Items.Clear();
cmb.Items.Add("Select");
for (int intCount = 0; intCount < ds.Tables[0].Rows.Count; intCount++)
{
cmb.Items.Add(ds.Tables[0].Rows[intCount][value].ToString());
}
cmb.SelectedIndex = 0;
如何在ComboBox
?
答案 0 :(得分:7)
for (int intCount = 0; intCount < ds.Tables[0].Rows.Count; intCount++)
{
var val=ds.Tables[0].Rows[intCount][value].ToString();
//check if it already exists
if(!cmb.Items.Contains(val))
{
cmb.Items.Add(val);
}
}
答案 1 :(得分:2)
您可以尝试:
cmb.Items.Clear();
cmb.Items.Add("Select");
cmb.Items.AddRange(dds.Tables[0].AsEnumerable()
.Select(x=>x[value].ToString())
.Distinct());
答案 2 :(得分:1)
for(int i = 0; i < cmb.Items.Count; i++)
{
for(int y = 0; y < cmb.Items.Count; y++)
{
if( y != i && cmb.Items[i].Text == cmb.Items[y].Text)
{
cmb.Items.RemoveAt(i);
break;
}
}
}
答案 3 :(得分:0)
您仍然可以绑定数据集。绑定后,将选择项添加到您想要的索引位置的组合框
答案 4 :(得分:0)
在Datatable中获取不同的值;然后填写组合:
DataView dvw = new DataView(ds.Tables[0]);
DataTable table = dvw.ToTable(true, value);
cmb.Items.Clear();
cmb.Items.Add("Select");
for (int intCount = 0; intCount < table.Rows.Count; intCount++)
{
cmb.Items.Add(table.Rows[intCount][value].ToString());
}
cmb.SelectedIndex = 0;