Pregunta

En mi aplicación, extraigo los datos de un Linq To SQL DataContext en un diccionario para un uso fácil como este:

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

Luego asocio este diccionario a BindingSource:

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

Actualizo el DataContext y el Diccionario regularmente para cuando se agregan nuevos trabajos a la base de datos (ya sea directamente a través de la aplicación local o la aplicación que se ejecuta en una máquina diferente):

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

¿Cómo puedo actualizar BindingSource para acomodar los cambios también?

¿Fue útil?

Solución

No veo la relación entre la clase Jobs y la clase Customer, por lo que supongo que querías escribir eso y no jobManager.Customers.Values.ToList ();

Suponiendo que ya tiene algún tipo de evento que active su actualización, ya que mencionó que actualizó " regularmente " ;, puede asignar un nuevo valor a la propiedad BindingSource.DataSource en ese momento como usted lo hizo originalmente.

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top