C# 如何避免在组合框中获得重复项,并确保组合框始终获得它们应该获得的值?
我使用了以下链接,但它不起作用 数据如下: 打印机,爱普生,T200 大型机,IBM,z15 大型机,Del,X99 这些信息来自一个数据库,但都在那里并经过测试,所以我忽略了不相关的代码 所以我有两个问题。第一个是EquipmentType组合框 重复值。我有两个大型机,所以它显示了两次大型机。 第二个问题是,如果我通过EquipmentType组合框, 并返回到以前的值,设备模型在打开之前不会更新 “设备名称”组合框实际单击一个条目C# 如何避免在组合框中获得重复项,并确保组合框始终获得它们应该获得的值?,c#,forms,combobox,iteration,datasource,C#,Forms,Combobox,Iteration,Datasource,我使用了以下链接,但它不起作用 数据如下: 打印机,爱普生,T200 大型机,IBM,z15 大型机,Del,X99 这些信息来自一个数据库,但都在那里并经过测试,所以我忽略了不相关的代码 所以我有两个问题。第一个是EquipmentType组合框 重复值。我有两个大型机,所以它显示了两次大型机。 第二个问题是,如果我通过EquipmentType组合框, 并返回到以前的值,设备模型在打开之前不会更新 “设备名称”组合框实际单击一个条目 private void Client_Maintena
private void Client_Maintenance_Load_1(object sender, EventArgs e)
{
cmbicEquipmentType.DataSource = equip;
cmbicEquipmentType.DisplayMember = "EquipmentType";
cmbicEquipmentName.DataSource = equipmentName;
cmbicEquipmentModel.DataSource = equipmentModel;
}
private void cmbicEquipmentType_SelectedIndexChanged(object sender, EventArgs e)
{
nameSource.Clear();
foreach (Equipment item in equip)
{
if (item.EquipmentType == cmbicEquipmentType.Text)
{
nameSource.Add(item.EquipmentName);
cmbicEquipmentName.SelectedIndex = 0;
}
}
nameSource.DataSource = null;
nameSource.DataSource = equipmentName;
cmbicEquipmentName.DataSource = nameSource;
cmbicEquipmentName.Update();
cmbicEquipmentName.Refresh();
}
private void cmbicEquipmentName_SelectedIndexChanged(object sender, EventArgs e)
{
nameSource2.Clear();
foreach (Equipment item in equip)
{
if (item.EquipmentName == cmbicEquipmentName.Text)
{
nameSource2.Add(item.EquipmentModel);
cmbicEquipmentModel.SelectedIndex = 0;
}
}
nameSource2.DataSource = null;
nameSource2.DataSource = equipmentModel;
cmbicEquipmentModel.DataSource = nameSource2;
cmbicEquipmentModel.Update();
cmbicEquipmentModel.Refresh();
}
这是显示重复项的组合框设备型号不更新
先谢谢你
if (!cmbicEquipmentType.Items.Contains(item.EquipmentType.ToString()))
{
cmbicEquipmentType.Items.Add(item.EquipmentType.ToString());
}
这解决了复制问题。我调整了我的程序,使第二个问题看起来像是应该发生的 请检查这将有助于提高你的内容质量upI检查了链接,但我仍然不清楚。我是输入了太多的代码还是太少的代码?我尽量保持代码的相关性。