私は 2 つの DataGrid を持っており、それぞれが次のように dataSource にバインドされています。
ItemsSource="{Binding Data, ElementName=EmpSource, Mode=TwoWay}"
最初の DataGrid(dgJob) には が含まれJob
、2 番目の (dgEmp) にemployee
はjob
.
すべての従業員を EmpSource に保持し、最初のデータグリッドで選択したジョブにリンクされている従業員のみを dataGrid に表示したいと考えています。
だから私は dgJob selectionChanged イベントでこれをやっています:
dgEmp.ItemsSource = null;
var lstEmp = EmpSource.DataView.OfType<Emp>().Where(ores => ores.IdJob == itmJobSelect.IdJob).ToList();
dgEmp.ItemsSource = lstEmp;
問題は、データグリッドで選択した行をジョブで変更してもデータグリッドがクリアされないため、ジョブごとに dgEmp にすべての従業員を表示し、ジョブに接続されている従業員のみを表示する必要があることです。
dataSource を決定する xaml の行を削除できますが、これを行うと、dataSource に変更があったときに dataGrid を更新する必要があります。
しかし、dataSourceの変更後に毎回3行を書き込まない限り、(少なくとも初めて)更新する方法がわかりません。
誰かが私の問題の解決策を見つけるのを手伝ってくれますか?
ありがとうございました。