我已将我的数据网格绑定到我的 ViewModel 元素的可观察集合,然后将其链接到 NotifyCollectionChangedEventHandler 事件:
obsListOfClients = new ObservableCollection<ClientVM>();
foreach (var c in contexte.listOfClients)
{
ClientVM cvm = new ClientVM(c);
obsListOfClients.Add(cvm);
}
obsListOfClients.CollectionChanged += new System.Collections.Specialized.NotifyCollectionChangedEventHandler(collectionOfClientssChanged);
我正在我的 vue 中编辑我的数据网格,我希望能够添加/删除、更新内容并在每个操作完成时得到通知:我已经创建了这个功能:
void collectionOfClientssChanged(object sender, NotifyCollectionChangedEventArgs e)
{
switch (e.Action)
{
case NotifyCollectionChangedAction.Add:
//Ajouter dans la base de données :
for(int i = 0; i<e.NewItems.Count;i++)
{
ClientVM item = e.NewItems[i] as ClientVM;
contexte.ListOfClientsToAdd.Add(item.Client);
}
break;
case NotifyCollectionChangedAction.Remove:
for(int i = 0; i < e.OldItems.Count; i++)
{
ClientVM item = e.OldItems[i] as ClientVM;
contexte.ListOfClientsToRemove.Add(item.Client);
}
break;
case NotifyCollectionChangedAction.Replace:
for(int i = 0; i < e.OldItems.Count; i++)
{
ClientVM item = e.OldItems[i] as ClientVM;
contexte.ListOfClientsToUpdate.Add(item.Client);
}
break;
}
}
然后我使用我的三个列表(ListOfClientsToUpdate、ListOfClientsToRemove、ListOfClientsToAdd)来跟踪我的更改并能够在数据库中推送所有修改。
问题是,当我在数据网格中添加或删除行时,我收到通知并且列表中充满了元素,但是当我更新现有行的内容时,我什至没有收到有关集合更改的通知! !!所以我无法跟踪我对现有元素的修改!
任何的想法 ?多谢 :) :)