Pergunta

No meu aplicativo, extraio os dados de um datacontext LINQ para SQL para um dicionário para facilitar o uso como assim:

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

Então eu ligo este dicionário a um Bindingsource:

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

Eu atualizo o DataContext e o dicionário regularmente para quando novos trabalhos são adicionados ao banco de dados (seja diretamente através do aplicativo local ou do aplicativo em execução em uma máquina diferente):

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

Como posso atualizar o BindingSource para acomodar as mudanças também?

Foi útil?

Solução

Não vejo a relação da classe Jobs com a classe do cliente, então assumirei que você pretendia digitar isso e não JobManager.customers.values.tolist ();

Supondo que você já tenha algum tipo de evento acionando sua atualização, pois mencionou que atualizou "regularmente", você pode atribuir um novo valor à propriedade BindingSource.DataSource naquele momento, como você fez 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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top