方法: Windows フォーム アプリケーションでルックアップ テーブルを作成する

検索テーブルは、親テーブルのメイン ノードを [データ ソース] ウィンドウ からフォームのコントロールにドラッグすることによって作成できます。コントロールは、事前に関連する子テーブルの列にバインドされている必要があります。

検索テーブルという用語は、関連する 2 つのデータ テーブルにバインドされているコントロールを表します。この検索コントロールは、2 番目のテーブルで選択されている値に基づいて最初のテーブルからデータを表示します。

たとえば、販売データベースの Orders テーブルであれば、次のように使用されます。Orders テーブルの各レコードには、注文した顧客を表す CustomerID が含まれます。CustomerID は、Customers テーブルの顧客レコードを指す外部キーです。このシナリオでは、[データ ソース] ウィンドウの Orders テーブルを展開し、メイン ノードを [詳細] に設定し、CustomerID 列が ComboBox (または検索バインドをサポートするその他のコントロール) を使用するように設定し、Orders ノードをフォームにドラッグします。次に、関連する列にバインドされているコントロールに Customers ノードをドラッグします。この場合は ComboBox が CustomerID 列にバインドされます。

検索コントロールをデータバインドするには

  1. [データ ソース] ウィンドウを開きます。

    [!メモ]

    検索テーブルを作成するには、関連付けられた 2 つのテーブルまたはオブジェクトが [データ ソース] ウィンドウで使用可能になっている必要があります。詳細については、「方法: 関連するデータを Windows フォーム アプリケーションに表示する」を参照してください。

  2. [データ ソース] ウィンドウで、親テーブルとそのすべての列および関連する子テーブルとそのすべて列が表示されるまでノードを展開します。

    [!メモ]

    子テーブルのノードは、拡張可能な子ノードとして親テーブルに表示されます。

  3. 子テーブルのノードのコントロール一覧の [詳細] を選択し、子テーブルのドロップ タイプを [詳細] に変更します。詳細については、「方法 : [データ ソース] ウィンドウからドラッグしたときに作成されるコントロールを設定する」を参照してください。

  4. 2 つのテーブルを関連付けるノードの場所を探し (上の例では CustomerID ノード)、コントロール一覧の [ComboBox] を選択してドロップ型を ComboBox に変更します。

  5. メインの子テーブルのノードを [データ ソース] ウィンドウからフォームにドラッグします。

    説明のラベルが付いたデータ バインド コントロールとツール ストリップ (BindingNavigator) がフォームに表示されます。DataSetTableAdapterBindingSource、および BindingNavigator がコンポーネント トレイに表示されます。

  6. 次に、[データ ソース] ウィンドウからメインの親テーブルのノードを検索コントロール (ComboBox) に直接ドラッグします。

    これで検索バインドが確立されます。コントロールに設定された個々のプロパティについては、次の表を参照してください。

    プロパティ

    設定の説明

    DataSource

    Visual Studio は、このプロパティをコントロールにドラッグしたテーブルに対して作成された BindingSource に設定します (コントロールの作成時に作成された BindingSource とは異なります)。

    調整する必要がある場合は、これを表示する列を含むテーブルの BindingSource に設定します。

    DisplayMember

    Visual Studio は、このプロパティをコントロールにドラッグするテーブルの主キーの後で、文字列データ型を含む最初の列に設定します。

    調整する必要がある場合は、これを表示する列の名前に設定します。

    ValueMember

    Visual Studio は、このプロパティを主キーに参加している最初の列、またはキーが定義されていない場合は、テーブルの最初の列に設定します。

    調整する必要がある場合は、これを表示する列を含むテーブルの主キーに設定します。

    SelectedValue

    Visual Studio は、このプロパティを [データ ソース] ウィンドウからドロップした元の列に設定します。

    調整する必要がある場合は、これを関連付けられたテーブルの外部キー列に設定します。

参照

処理手順

チュートリアル: Windows フォーム アプリケーションでのルックアップ テーブルの作成

チュートリアル: 検索データ バインディングをサポートする Windows フォーム ユーザー コントロールの作成

方法 : Windows フォーム ComboBox、ListBox、または CheckedListBox コントロールのルックアップ テーブルを作成する

方法 : Windows フォーム BindingSource コンポーネントを使用してルックアップ テーブルを作成する

概念

Visual Studio 2012 のデータ アプリケーション開発に関する新機能

Visual Studio でのデータへの Windows フォーム コントロールのバインド

データ ソースの概要

TableAdapter の概要

その他の技術情報

データに関するチュートリアル