【问题标题】:Combobox displays repeated items in C#Combobox在C#中显示重复项
【发布时间】:2015-02-28 13:36:59
【问题描述】:

我的表单中有两个组合框。当第一个 ComboBox 的任何项目被选中时,第二个 ComboBox 被更新。假设第一个 CB 是国家,第二个是那个国家的城市。

我用下面的代码过滤了2nd CB(City)的bindingSource:

cityTblBindingSource.Filter = string.Format("CountryID = {0}", CustomerCountryID);

令人惊讶的是,它适用于某些国家/地区。但是对于某些国家/地区,会有重复的城市。

示例(很好): 国家 = 伊朗 => 城市 = 伊斯费罕、德黑兰、亚兹德

示例(有问题): 国家 = 德国 => 城市 = 慕尼黑、柏林、慕尼黑、柏林

我怎样才能摆脱重复的项目?

【问题讨论】:

  • 这似乎不可能给定相同的逻辑过滤器,除非您的数据或加载该数据的代码中存在严重错误
  • 尝试修改您的 select 语句以最初查询数据库以选择不同的城市名称,然后过滤器应该按原样工作。
  • 很抱歉在检查我的数据之前提出这个问题。问题出在我的城市表上。 (._.)

标签: c# combobox bindingsource


【解决方案1】:

尝试在您的数据源上使用 linq,这样可以避免更改您的原始数据源。

 List<Cities> cities = (List<Cities>)cityTblBindingSource.DataSource;
 cityTblBindingSource.DataSource = cities.Where(x=>x.CountryID == CustomerCountryID).Distinct();

【讨论】:

  • 谢谢,我会试试这个。但正如我所说,我的数据库中有我不知道的重复项目。还是非常感谢。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 2016-11-30
  • 1970-01-01
  • 1970-01-01
  • 2020-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多