注
DataSet クラスと関連クラスは、アプリケーションがデータベースから切断されている間にアプリケーションがメモリ内のデータを操作できるようにする、2000 年代初頭のレガシ .NET Framework テクノロジです。 このテクノロジは、ユーザーがデータを変更し、変更をデータベースに保持できるアプリに特に役立ちます。 データセットは実証済みの成功したテクノロジですが、新しい .NET アプリケーションには Entity Framework Core を使用することをお勧めします。 Entity Framework は、オブジェクト モデルとして表形式データを操作するより自然な方法を提供し、よりシンプルなプログラミング インターフェイスを備えています。
一部のアプリケーションでは、親子リレーションシップで相互に関連する複数のテーブルまたはエンティティから取得されたデータを操作できます。 たとえば、 Customers
テーブルの顧客を表示するグリッドを表示できます。 ユーザーが特定の顧客を選択すると、別のグリッドに関連する Orders
テーブルからその顧客の注文が表示されます。
[データ ソース] ウィンドウから WPF デザイナーに項目をドラッグすることで、関連するデータを表示する データ バインド コントロールを作成できます。
関連レコードを表示するコントロールを作成するには
[ データ ] メニューの [ データ ソースの表示 ] をクリックして、[ データ ソース ] ウィンドウを開きます。
[ 新しいデータ ソースの追加] をクリックし、 データ ソース構成 ウィザードを完了します。
WPF デザイナーを開き、[ データ ソース] ウィンドウの項目の有効なドロップ ターゲットであるコンテナーがデザイナーに含まれていることを確認します。
有効なドロップ ターゲットの詳細については、「 Visual Studio で WPF コントロールをデータにバインドする」を参照してください。
[ データ ソース] ウィンドウで、リレーションシップ内の親テーブルまたはオブジェクトを表すノードを展開します。 親テーブルまたはオブジェクトは、一対多リレーションシップの "一" 側にあります。
[ データ ソース] ウィンドウから、デザイナーの有効なドロップ ターゲットに親ノード (または親ノード内の個々の項目) をドラッグします。
Visual Studio では、ドラッグする項目ごとに新しいデータ バインド コントロールを作成する XAML が生成されます。 また、XAML は、親テーブルまたはオブジェクトの新しい CollectionViewSource をドロップ ターゲットのリソースに追加します。 一部のデータ ソースでは、Visual Studio によって、親テーブルまたはオブジェクトにデータを読み込むためのコードも生成されます。 詳細については、「 Visual Studio で WPF コントロールをデータにバインドする」を参照してください。
[ データ ソース ] ウィンドウで、関連する子テーブルまたはオブジェクトを見つけます。 関連する子テーブルとオブジェクトは、親ノードのデータリストの下部に展開可能なノードとして表示されます。
[ データ ソース ] ウィンドウからデザイナーの有効なドロップ ターゲットに、子ノード (または子ノード内の個々の項目) をドラッグします。
Visual Studio では、ドラッグする項目ごとに新しいデータ バインド コントロールを作成する XAML が生成されます。 また、XAML は、子テーブルまたはオブジェクトの新しい CollectionViewSource をドロップ ターゲットのリソースに追加します。 この新しい CollectionViewSource は、デザイナーにドラッグした親テーブルまたはオブジェクトのプロパティにバインドされます。 一部のデータ ソースでは、Visual Studio によって、子テーブルまたはオブジェクトにデータを読み込むためのコードも生成されます。
次の図は、データ ソースウィンドウのデータセットにあるCustomersテーブルに関連するOrdersテーブルを示しています。