문제

내 응용 프로그램에서 LINQ에서 SQL Datacontext의 데이터를 사전으로 추출하여 다음과 같은 쉽게 사용할 수 있습니다.

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

그런 다음이 사전을 바인딩 소스에 바인딩합니다.

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

새로운 작업이 데이터베이스에 추가 될 때 (로컬 응용 프로그램을 통해 직접 또는 다른 컴퓨터에서 실행되는 응용 프로그램을 통해) DataContext와 Dictionary를 정기적으로 새로 고침합니다.

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

변경 사항을 수용하기 위해 BindingSource를 업데이트하려면 어떻게해야합니까?

도움이 되었습니까?

해결책

Jobs 클래스에서 고객 클래스에 이르기까지 관계가 보이지 않으므로 jobManager.customers.values.tolist ()가 아닌이를 입력하려고한다고 가정 할 것입니다.

"정기적으로"업데이트되었다고 언급했기 때문에 이미 새로 고침을 유발하는 이벤트가 이미 있다고 가정하면 바인딩 소스 .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
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top