Лучше всего использовать ObservableCollection
в качестве источника данных для сетки данных вместо запроса.
И посмотрите на реализацию INotifyPropertyChanged
интерфейса в вашем Customer
классе.
ObservableCollection
изначально заполняется запросом базы данных. Пользовательские изменения вносятся в элементы в пределах ObservableCollection
, и после их завершения вам просто нужно инициировать передачу изменений туда, где вы изначально получили свой список Customer
объектов
После этого изменения, внесенные как в коллекцию клиентов, так и в отдельные объекты клиентов (если они присутствуют в сетке данных), будут автоматически обновляться для вас.
редактировать
Я должен признать, что я немного спешу предложить какой-либо код в данный момент, но вот довольно хорошая статья, которая объясняет, как использовать ObservableCollections
и классы, которые реализуют INotifyPropertyChanged
. В нем также есть примеры кода, которые, хотя в VB.NET должны дать вам достаточно идей для начала работы.
Фактически вы разделяете код на отдельные уровни пользовательского интерфейса (представление), бизнес-логики (модель представления) и уровень данных (модель, в которой находится ваша структура сущностей).
Вы связываете свою сетку данных со свойством типа ObservableCollection в своем классе Customers, и ваше окно редактирования клиентского элемента привязывается как экземпляр вашего класса Customer.