Question

Dans mon application, j'extrais les données d'un DataContext Linq To SQL dans un dictionnaire pour une utilisation facile, comme ceci:

Jobs = dbc.Jobs.ToDictionary(j => j.Id, j => j);

Ensuite, je lie ce dictionnaire à un BindingSource:

bsJob.DataSource = jobManager.Jobs.Values.ToList();

J'actualise régulièrement le DataContext et le dictionnaire lorsque de nouveaux travaux sont ajoutés à la base de données (que ce soit directement via l'application locale ou l'application exécutée sur un autre ordinateur):

dbc.Refresh(RefreshMode.OverwriteCurrentValues, dbc.Job);
Jobs = dbc.Job.ToDictionary(j => j.Id, j => j);

Comment puis-je mettre à jour BindingSource pour prendre également en compte les modifications?

Était-ce utile?

La solution

Je ne vois pas la relation entre la classe Jobs et la classe Customer. Je suppose donc que vous vouliez taper cela et non pas jobManager.Customers.Values.ToList ();

En supposant que vous ayez déjà une sorte d'événement déclenchant votre actualisation, puisque vous avez mentionné que vous avez mis à jour & "régulièrement &", vous pouvez attribuer une nouvelle valeur à la propriété BindingSource.DataSource à ce moment-là, tout comme vous. a fait à l'origine.

dbc.Refresh(RefreshMode.OverwriteCurrentValues, dbc.Customer);
Customers = dbc.Customer.ToDictionary(c => c.Id, c => c);
bsJob.DataSource = jobManager.Jobs.Values.ToList();  //Assuming this statement was correct
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top