2015-02-28 3 views
0

У меня есть две ComboBoxes в моей форме. Когда выбран какой-либо элемент первого ComboBox, обновляется второй ComboBox. Скажем, 1-й ЦБ - это страна, а второй - города этой страны.Combobox отображает повторяющиеся элементы в C#

я использовал код ниже для фильтрации BindingSource 2-й CB (город):

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

Удивительно это работает для некоторых стран. Но для некоторых стран будут повторяющиеся города.

Пример (Fine): Страна = Иран => Города = Isfehan, Тегеран, Йезд

Пример (Проблемный): Страна = Германия => Города = Мюнхен, Берлин, Мюнхен, Берлин

Как я могу избавиться от повторяющихся предметов?

+0

Это, кажется, не представляется возможным, учитывая тот же логический фильтр, если есть что-то очень неправильно в вашем данных или в коде, который загружает эти данные – Steve

+0

Попробуйте изменить ваш оператор выбора для первоначального запроса к базе данных, чтобы выбрать различные названия городов, затем фильтр должен работать так, как есть. –

+0

Мне очень жаль, что задал вопрос перед проверкой моих данных. Проблема заключается в моем City Table. (._.) –

ответ

0

Попробуйте использовать linq на своем источнике данных, чтобы избежать изменения исходного источника данных.

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

Спасибо, я попробую это. Но, как я уже сказал, у моей базы данных есть дубликаты, о которых я не знал. В любом случае, спасибо. :) –