Единообразная спецификация источников и компонентов данных

если вы при указании источника

Важно, чтобы спецификация источников и компонентов данных была Единообразной для всех элементов управления на форме. Если вы при указании источника используете для разных элементов управления разные типы ссылок, то вы не получите синхронизированного обновления элементов управления при изменении текущего выбора на форме. Если бы вы не захотели придерживаться данного правила и специфицировали привязку текстовых полей так, как было показано выше, то для того, чтобы синхронизация текстовых полей и сетки не нарушилась, необходимо было бы соответствующим образом специфицировать источник и компонент данных для сетки. Нужно модифицировать обработчик события загрузки формы: Рекомендуется все же устанавливать источник данных на списочном уровне и избегать составных компонентов данных . Исключением является случай, когда дело касается привязки к сложному объекту, содержащему единственный сложный дочерний объект. Возьмем, к примеру, объект Customer И его свойство Address. Свойство Address Содержит экземпляр сложного типа со свойствами City, State И т. д. для этого экземпляра. В этом случае можно было бы для привязки к адресной информации одиночного объекта Customer Использовать составной компонент данных. Для привязки к свойству City Можно установить в качестве источника данных объект Customer, Но в качестве компонента специфицировать Address.City. Если вы внесете это изменение в дополнение к изменениям для текстовых полей, показанным в листинге 3.5, и запустите приложение, то при выборе в сетке различных строк текстовые поля будут синхронно обновляться, как раньше. Поскольку теперь для источников данных специфицирована в точности одна и та же ссылка на объект, для всех элементов управления будет создан только один синхронизирующий объект. В то время как устаревший элемент управления DataGrid Мог быть привязан к набору данных и мог отображать иерархическую навигацию по содержащимся в наборе таблицам, сетка DataGridView Предназначена для одновременной привязки только к одиночному списку. Если установить для свойства DataSource Сетки DataGridView Набор данных и не специфицировать таблицу в свойстве DataMember, Сетка останется пустой.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *