Набор данных с установленным родительско-дочерним отношением

вы можете либо просто прочитать

Как только у вас будет набор данных с установленным родительско-дочерним отношением, можно строить форму. Вы можете либо просто прочитать нижеприведенные инструкции, либо, если захотите проделать все это сами, создайте сначала проект Windows Application и поместите на форму два элемента управления DataGridView, два BindingSource и один BindingNavigator. Одна сетка предназначена для родительской коллекции данных, вторая отображает дочерние строки. В приложении MasterDe — tailsSample, код которого можно загрузить, эти данные поступают соответственно из таблиц Customers и Orders. Первый источник привязки служит просто для заполнения родительской сетки из таблицы Customers, аналогично тому, что вы видели в предыдущих примерах. Трюк, заставляющий работать сценарий «ведущий-детализация», состоит в том, что в свойстве DataSource дочернего источника привязки вы устанавливаете родительский источник привязки — в MasterDetailsSample это m CustomersBindingSource. Затем вы специфицируете имя отношения данных, которое соотносит родительские строки с дочерними, в качестве значения свойства DataMember родительского источника привязки; в следующим Вот и все. Каскадирование дочернего источника привязки с родительским автоматически синхронизирует текущую строку в родительской коллекции с набором соответствующих дочерних строк в дочерней коллекции. Тем не менее, если вам требуется сохранить эти изменения из привязанного источника на уровне хранения данных, то придется написать соответствующий код доступа к данным. Обычно такой код выполняется в ответ на щелчок пользователя на кнопке панели инструментов, командной кнопке, на выбор команды в меню, и для этого достаточно вызвать метод Update соответствующего адаптера таблицы. В следующем листинге приведен обновляющий код, генерируемый конструктором для кнопки Save элемента управления Вызов Validate обеспечивает выполнение верификации для последнего элемента управления, который обладал фокусом ввода. Вызов EndEdit фиксирует все внесенные изменения в текущем источнике данных, если этот объект поддерживает транзакционные обновления через интерфейс

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

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