Share via


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

 

公開日: 2016年4月

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

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

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

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

  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 でのデータへの Windows フォーム コントロールのバインド
データ ソースの概要
TableAdapter の概要