Категории
Войти
Поиск
Реклама
Полезное:
Строитель тульская область
www.go2go.ru
Новые статьи
Опечатка?
Выделите текст и нажмите Shift+Enter.
И мы в ближайшее время ее исправим!
Счетчики
| Привязка коллекций данных к списочным элементам управления |
|
Еще одна типичная задача - заполнение поля списка или комбинированного списка. Пример такого рода был показан в листинге 3.1. Код для привязки поля комбинированного или простого списка немногим отличается от кода для привязки данных к сетке. Разница состоит в том, каким образом специфицируется то свойство в коллекции, которое будет использоваться для представления данных в элементе управления (DisplayMember), и свойство, в котором будет содержаться ассоциированное значение (ValueMember). Значение свойства, установленного в качестве ValueMember для текущего элемента комбинированного или простого списка, во время выполнения доступно через свойство SelectedValue элемента управления. Взгляните, например, на форму, показанную на 3.2. Если организовать комбинированные списки и текстовые поля так, как показано в листинге 3.3, свойство SelectedValue комбинированных списков будет управлять содержимым текстовых полей. В этом примере комбинированные списки привязаны к таблице Customers в типизированном наборе данных. Для каждого элемента в таблице Customers их свойства DisplayMember будут показывать в тексте списков соответственно свойства CompanyName и ContactName. Кроме того, в ValueMember первого комбинированного списка установлено свойство CustomeriD, а для второго списка задано свойство Phone. Благодаря этому свойство SelectedValue комбинированного списка будет давать значение свойства ValueMember, принадлежащее выбранному в данный момент элементу списка. В коде листинга 3.3 свойство SelectedValue для каждого из комбинированных списков прочитывается обработчиком события SelectedlndexChanged и устанавливается в свойстве Text соответствующего текстового поля. Лучше было бы сделать то же самое, непосредственно привязав данные к текстовым полям, но в этом коде мы хотели продемонстрировать использование свойства SelectedValue и то, как оно соотносится со свойством ValueMember. Более распространенное решение заключается в том, чтобы для заполнения текстового поля не использовать свойство SelectedValue, а выполнить запрос к базе данных для поиска CustomeriD, содержащегося в свойстве SelectedValue первого комбинированного списка. Так обычно и поступают, когда имеется обширный набор данных, который нецелесообразно держать в памяти для того только, чтобы отобразить в комбинированном или простом списке единственный столбец, но требуется работать в коде со всей строкой, соответствующей сделанному выбору.
Newer news items:
Older news items:
|
