Copyright © GrapeCity inc. All rights reserved.
このチュートリアルは、マスター/詳細データセットを使用して、複数の True DBGrid for WinForms をリンクする方法を示します。
以下の手順を実行します。
- 新しい .NET プロジェクトを開始します。
- 2つの C1TrueDBGrid コントロール(C1TrueDBGrid1 と C1TrueDBGrid2)をフォームに追加します。
- C1TrueDBGrid タスクメニューで、データソースの選択ドロップダウン矢印をクリックし、ドロップダウンボックスからプロジェクトのデータソースの追加リンクを選択します。
- データソース構成ウィザードが表示されます。データソースの種類の選択ページ上で選択されているデフォルト設定であるデータベースをそのままにして、次へをクリックします。新しい接続ボタンをクリックし、新しい接続を作成するか、ドロップダウンリストから1つ選択します。データベースオブジェクトの選択ページで、Composer テーブルおよび Opus を選択し、すべてのフィールドを含めます。データセット名ボックスに DsMasterDetail と入力し、完了をクリックしてウィザードを終了します。新しいデータソースをプロジェクトに追加する方法については、手順 2:DataSet への C1TrueDBGrid の連結を参照してください。
- ソリューションエクスプローラウィンドウで DsMasterDetail.xsd をダブルクリックしてリレーションシップをデザイナで作成または編集します。DsMasterDetail.xsd が開き、次のように表示されます。
- 2つのテーブルのリレーションシップを作成するには、ComposerテーブルのLastフィールドの横にある領域をマウスボタンでクリックし、マウスをComposerテーブルからOpusテーブルの列までドラッグします。Lastフィールドの横にある領域でマウスを放します。これで、リレーションシップダイアログボックスが開きます。
親テーブルと子テーブルはそれぞれComposerとOpusに設定されていることを確認します。両方のキーフィールドがLastおよび[作成する制約の選択]は〈リレーションシップのみ〉に設定されていることを確認します(上の図を参照)。〈OK〉をクリックし、リレーションシップダイアログボックスを終了します。
- .NET の[ビルド]メニューへ移動し、[ソリューションのビルド]を選択します。これで、この新しい関係がプロジェクト内で有効になります。
- ツールボックスの<プロジェクト名>コンポーネントタブからDsMasterDetail、ComposerTableAdapterおよびOpusTableAdapterの新しいインスタンスをフォームに追加します。
- Visual Studio のプロパティウィンドウで、C1TrueDBGrid1の C1TrueDBGrid の DataSource プロパティを DsMasterDetail1 に、DataMember プロパティをComposerに設定します。
列レイアウトの置き換えについて確認ダイアログが出たら、はいをクリックします。
- C1TrueDBGrid2の TrueDBGrid では、DataSource プロパティを DsMasterDetail1 に、DataMember プロパティをComposer.Composer_Opusに設定します。
列レイアウトの置き換えについて確認ダイアログが出たら、はいをクリックします。
- 次に、DataAdapter にデータを挿入します。
-
Form1 をダブルクリックしてコードビューにて、Form_Loadイベントのハンドラーを作成し、Load イベントに次のコードを追加します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
Me.ComposerTableAdapter1.Fill(Me.DsMasterDetail1.Composer)
Me.OpusTableAdapter1.Fill(Me.DsMasterDetail1.Opus)
|
C# コードの書き方
C# |
コードのコピー
|
this.composerTableAdapter1.Fill(this.dsMasterDetail1.Composer);
this.opusTableAdapter1.Fill(this.dsMasterDetail1.Opus);
|
プログラムを実行し、動作を確認します。
- Form1 がロードされると、C1TrueDBGrid1 と C1TrueDBGrid2 は、DsMasterDetail1 からデータベーススキーマ情報を取得します。
- 最初のグリッドの別の行をクリックして、現在のレコードの位置を変更します。 C1TrueDBGrid1マスターグリッドで行が変更されるたびに、C1TrueDBGrid2詳細グリッドが、新しいレコードセットを表示するように自分自身を設定することを確認してください。
これでチュートリアル 3は終了です。