Domanda

Nella mia applicazione, estraggo i dati di un LinC To SQL DataContext in un dizionario per un facile utilizzo in questo modo:

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

Quindi associo questo dizionario a una BindingSource:

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

Aggiorna DataContext e il dizionario regolarmente per quando vengono aggiunti nuovi lavori al database (direttamente tramite l'applicazione locale o l'applicazione in esecuzione su un altro computer):

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

Come posso aggiornare BindingSource per adattarsi anche alle modifiche?

È stato utile?

Soluzione

Non vedo la relazione tra la classe Jobs e la classe Customer, quindi suppongo che intendessi digitare quello e non jobManager.Customers.Values.ToList ();

Supponendo che tu abbia già una sorta di evento che attiva il tuo aggiornamento, dato che hai menzionato che hai aggiornato " regolarmente " ;, puoi assegnare un nuovo valore alla proprietà BindingSource.DataSource in quel momento proprio come te fatto originariamente.

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
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top