Задача: сделать несколько связанных между собой комбо-боксов, например для выбора адреса - выбираешь район, фильтруются улицы, выбираешь улицу, фильтруются дома - и так далее. Источник данных - связанная DataTable. Данные могут как просто фильтроваться, так и загружать из базы. Должен быть поиск по содержимом комбо-боксов, свои значения вводить нельзя, возможны пустые значения. Задача очень простая, так что ниже просто мини-памятка свойств WinForms, за которые надо дергать в данном случае.
Во-первых если запросы из базы занимают относительно много времени, секунду и больше, то привязка на стандартные события SelectedIndexChanged, SelectedValueChanged чревата очень странными глюками, так как реально код на этих событиях будет вызываться несколько раз и сильно тормозить. Лечить эти глюки нет смысла, так как тормоза останутся, стоит подписаться на событие SelectionChangeCommitted. При этом некоторые функции возможно придется продублировать для случай цепного обновления (изменился район-изменилась первая улица в списке - изменился первый дом в списке-изменилась первая квартира в списке)
Чтобы корректно работала подсказка с поиском по всему списку элементов ComboBox, надо выставить следующее сочетание свойств:
- AutoCompleteMode - SuggestAppend
- AutoCompleteSource - ListItems
- DropDownStyle - DropDownList
1a9Pretty nice post. I just stumbled upon your blog and wished to say that I’ve truly enjoyed surfing around your blog posts. After all I will be sucbsribing to your feed and I hope you write again very soon!
just made this cake with regular oranges (didn't have any sicilian's) and added some grated dark chocolate to the sugar+juice topping --- came out delicious! thank you!