0

私のアプリケーションでは、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を更新するにはどうすればよいですか?

4

1 に答える 1

1

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
于 2009-06-26T12:55:34.780 に答える