C # DataBinded ListBoxes - проблема сортировки - PullRequest
0 голосов
/ 29 января 2010

У меня есть эти ListBox es .. Все они DataBind преобразованы в одну и ту же таблицу, и они находятся в табличном виде, каждая строка соответствует своему фактическому значению в datbase. Когда я переключаю выделение (SelectedIndexChange) на любой из этих списков, я изменяю SelectedIndex всех остальных ListBox es.

альтернативный текст http://www.deviantart.com/download/152153617/A_piece_from_my_softs____by_junaid_saeed.png

Теперь я не могу просто выбрать "Sort = true" для любого из ListBox, потому что при этом значения в ListBox es не будут соответствовать их фактическим значениям в других ListBox es. Я хочу предоставить возможность сортировки Acoording в один из ListBox , сохраняя при этом соответствия в силе. КАК ЭТО СДЕЛАТЬ . Любые предложения.

Я не хочу запускать Алгоритм сортировки на ListBox , выбирая каждую запись ( Item ) и сортируя ее, а затем изменяя оставшуюся часть ListBox es соответственно.

Ответы [ 2 ]

1 голос
/ 29 января 2010

Вы действительно должны использовать ListView вместо использования всех этих списков. Это сделает вашу жизнь намного менее сложной, поскольку она поддерживает запрашиваемую вами функциональность, и вам не нужно беспокоиться о синхронизации данных.

0 голосов
/ 29 января 2010

Если вам нужно сделать именно то, что вы перечислили, я бы порекомендовал добавить «слой» логики до фактической привязки к спискам.

т.е:.

Вместо привязки данных непосредственно к ListBoxes, создайте List <> datarows (или ваш собственный объект). Когда вам нужно отсортировать список, вызовите метод .Sort () в List <> для любого свойства / столбца, который вам нужен, а затем очистите списки ListBox, заново заполняйте их на основе вашего List <> (возможно, добавив ListItems по одному время для каждого блока), а затем исправьте SelectedIndex (s) ListBoxes.

Делая так, вы никогда не потеряете связь между строками ListBoxes.

...