Combobox在C#中显示重复的项目

时间:2015-02-28 13:36:59

标签: c# combobox bindingsource

我的表单中有两个ComboBox。当选择第一个ComboBox的任何项目时,将更新第二个ComboBox。假设第一个CB是国家,第二个是该国的城市。

我使用下面的代码来过滤第二个CB(城市)的bindingSource:

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

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

实施例(精细): 国家=伊朗=>城市= Isfehan,德黑兰,亚兹德

实施例(有问题): 国家=德国=>城市=慕尼黑,柏林,慕尼黑,柏林

如何摆脱重复的物品?

1 个答案:

答案 0 :(得分:0)

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

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