我正在使用C#做一个winforms项目,作为VS 2010中的代码。
我有一个使用tableadaptor.fill
从db表填充的组合框每次我在此组合框中选择任何值时,所选值将覆盖组合框中的另一个现有项目,因此会出现两次。如下图所示:
在这里,我点击组合框并选择LEP 2013
现在当我再次点击组合框时,LEP 2013会覆盖SFT 2013并出现两次。
此外,在组合框中选择项目时没有编写代码,只有Fetch按钮执行下一个操作。甚至在单击“获取”按钮之前就会发生此行为。
另一个观察是,当我选择组合框中的第一个项目时,在本例中为SFT 2013,它不会复制该项目。
这个问题类似于 Combobox displaying duplicate items 和 Combobox displays duplicate items when an item is selected
但他们的解决方案对我不起作用。此组合框所绑定的表的列是该表的主键,因此它不包含重复值。
有什么建议吗?
答案 0 :(得分:0)
我删除了组合框的现有数据绑定并使用新的适配器进行了反弹,问题就消失了。
但是我还是不知道早期的问题是什么。不知何故,组合框文本的第一项被替换为SelectedItem的文本。
答案 1 :(得分:0)
我遇到了同样的问题,除了我使用数据表来填充我的组合框。我把dataTable.Clear();在我的程序开始清理表,它解决了问题。您应检查数据源以确保在将数据重新加载到数据源之前将其清除。