Источники привязки

я большой сторонник использования в

Источники привязки могут разделяться несколькими формами. Например, чтобы предоставить пользователю форму, позволяющую редактировать определенные столбцы в записях о клиентах по двойному щелчку на вы можете сконструировать простую форму наподобие той, что показана

Можно сделать так, чтобы форма в качестве параметра своего конструктора получала ID клиента, извлекала необходимые данные, редактировала их, а затем записывала обратно в базу данных. Затем вам потребовалось бы по завершении диалога обновить главную форму, чтобы она отразила изменения в источнике данных. В зависимости от того, позволяет ли сама сетка редактировать данные, такой подход может породить проблемы конкуренции, даже если речь идет о единственном пользователе вашего приложения, и это, конечно, не лучший путь с точки зрения обмена с базой данных. На самом деле вам нужно, чтобы две раздельных формы работали с одним и тем же источником данных в памяти. Тогда вы сможете в качестве параметра передавать конструктору формы редактирования источник привязки, к которому она должна привязываться, получая его от формы-листинга, которая запускает редактирующую форму, как это проделано в следующем коде. В этой форме используется простая привязка между отдельными текстовыми полями и соответствующими компонентами в источнике данных через переданный форме источник привязки. Теперь при любых изменениях, вносимых в форму редактирования, они будут автоматически отражаться в исходных данных, поэтому сетка на форме, которая запускает форму редактирования, будет также синхронизована с этими данными. Все, что должна теперь делать кнопка Save, — это закрывать форму, при этом данные будут сохранятся в источнике данных на стороне клиента. Если вы хотите в этот момент зафиксировать изменения в базе данных, вы можете добавить код, выполняющий через уровень доступа к данным дополнительный вызов для сброса изменений в базу.

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

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