まず、DataGridView/BindingSource/DataRelation などについて学習しようとしています。すでにいくつかのチュートリアルを読み、トピックに関する情報を収集しています。これまでのところ、基本は理解できたと思います。今は、学んだことを試してみようとしています。
これまでのところ、このチュートリアルのコードで遊んでいます: https://msdn.microsoft.com/en-us/library/c12c1kx4%28v=vs.110%29.aspx?cs-save-lang=1&cs-lang =csharp#コードスニペット-1
私のプロジェクトには3つのテーブルがあります:
Table A
A_id eng_word
0 dog
1 cat
Table B
B_id ger_word
0 Hund
1 Katze
2 Maus
Table C (Relation)
A_id B_id
0 0
0 1
1 1
1 2
私の目標は、テーブル A とテーブル B ごとに BindingSource と DataRelations を使用して DataGridViews を作成することです。これにより、DataGridView A のエントリをクリックすると、テーブル B のすべての要素が表示され、テーブル C による翻訳になる可能性があります。
DataRelation relation = new DataRelation("Relation",
data.Tables["tableA"].Columns["A_id"],
data.Tables["tableB"].Columns["B_id"]);
data.Relations.Add(relation);
bindingSourceA.DataSource = data;
bindingSourceA.DataMember = "tableA";
bindingSourceB.DataSource = bindingSourceA;
bindingSourceB.DataMember = "Relation";
これは明らかに、テーブル B とテーブル C の結合を呼び出さなければ機能しませんが、DataRelation と BindingSource を使用することは可能かもしれないと考えました。テーブル A からテーブル C への関係は問題ではありませんが、テーブル B への継続は私には不可能に思えます。
私の目標を達成するためのアプローチはありますか、それとも単に間違っていますか? 正しい方向へのアドバイスや指針をいただければ幸いです。