Как заставить мой список возвращать отдельные строки
У меня есть два списка, заполненных базой данных. При выборе элемента в первом списке он заполняет второй список значениями, связанными с этим элементом.
Проблема, с которой я столкнулся, заключается в том, что если в первом списке выбран другой элемент, то первый выбранный элемент дублирует заполненный элемент во втором списке.
Извините, что не могу показать пример.
Что я уже пробовал:
private void Area_SelectionChanged(object sender, SelectionChangedEventArgs e) { if (Area.SelectedItems.Count < 1) { AreaPostCode.Items.Clear(); AreasSelected.Clear(); return; } AreasSelected.Text = ""; foreach (object area in Area.SelectedItems) { AreasSelected.Text += (AreasSelected.Text == "" ? "" : ", ") + area.ToString(); } DataView view = new DataView(); DataTable dt = new DataTable(); //SqlDataAdapter adpt = new SqlDataAdapter("SELECT PostCode,Town FROM tblAllPostCodes WHERE Town IN(" + string.Join(",", Area.SelectedItems.Cast<string>().Select(si => "'" + si.ToString() + "'").ToArray()) + ")", sqlConTwo); SqlDataAdapter adpt = new SqlDataAdapter("SELECT DISTINCT SUBSTRING(PostCode, 0, 5) AS PostCode, Town FROM tblAllPostCodes WHERE Town IN(" + string.Join(",", Area.SelectedItems.Cast<string>().Select(si => "'" + si.ToString() + "'").ToArray()) + ")", sqlConTwo); adpt.Fill(dt); foreach (DataRow dr in dt.Rows) { AreaPostCode.Items.Add(dr["PostCode"].ToString()); } }
Richard MacCutchan
Вам нужно очистить список AreaPostCode перед добавлением дополнительных элементов.