Как обновить BindingSource на основе измененного DataContext - PullRequest
0 голосов
/ 26 июня 2009

В моем приложении я извлекаю Данные Linq To SQL DataContext в словарь для простоты использования, например:

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

Затем я связываю этот словарь с BindingSource:

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

Я регулярно обновляю DataContext и Словарь, когда новые задания добавляются в базу данных (напрямую через локальное приложение или приложение, запущенное на другом компьютере):

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

Как я могу обновить BindingSource, чтобы также учесть изменения?

1 Ответ

1 голос
/ 26 июня 2009

Я не вижу связи между классом Jobs и классом Customer, поэтому я предполагаю, что вы хотели ввести это, а не jobManager.Customers.Values.ToList ();

Предполагая, что вы ужеу вас есть какое-то событие, запускающее ваше обновление, поскольку вы упомянули, что вы обновлялись «регулярно», вы можете назначить новое значение свойству BindingSource.DataSource в то время, как вы это делали изначально.

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
...