方法: Windows フォーム アプリケーションでルックアップ テーブルを作成する
公開日: 2016年4月
検索テーブルは、親テーブルのメイン ノードを ウィンドウ からフォームのコントロールにドラッグすることによって作成できます。コントロールは、事前に関連する子テーブルの列にバインドされている必要があります。
検索テーブルという用語は、関連する 2 つのデータ テーブルにバインドされているコントロールを表します。 この検索コントロールは、2 番目のテーブルで選択されている値に基づいて最初のテーブルからデータを表示します。
たとえば、販売データベースの Orders
テーブルであれば、次のように使用されます。 Orders
テーブルの各レコードには、注文した顧客を表す CustomerID
が含まれます。 CustomerID
は、Customers
テーブルの顧客レコードを指す外部キーです。 このシナリオでは、[データ ソース] ウィンドウの Orders
テーブルを展開し、メイン ノードを [詳細] に設定し、CustomerID
列が ComboBox (または検索バインドをサポートするその他のコントロール) を使用するように設定し、Orders
ノードをフォームにドラッグします。 次に、関連する列にバインドされているコントロールに Customers
ノードをドラッグします。この場合は ComboBox が CustomerID
列にバインドされます。
検索コントロールをデータバインドするには
[データ ソース] ウィンドウを開きます。
注意
検索テーブルを作成するには、関連付けられた 2 つのテーブルまたはオブジェクトが [データ ソース] ウィンドウで使用可能になっている必要があります。 詳細については、「方法: 関連するデータを Windows フォーム アプリケーションに表示する」を参照してください。
[データ ソース] ウィンドウで、親テーブルとそのすべての列および関連する子テーブルとそのすべて列が表示されるまでノードを展開します。
注意
子テーブルのノードは、拡張可能な子ノードとして親テーブルに表示されます。
子テーブルのノードのコントロール一覧の [詳細] を選択し、子テーブルのドロップ タイプを [詳細] に変更します。 詳細については、「[データ ソース] ウィンドウからドラッグしたときに作成されるコントロールを設定する」を参照してください。
2 つのテーブルを関連付けるノードの場所を探し (上の例では
CustomerID
ノード)、コントロール一覧の [ComboBox] を選択してドロップ型を ComboBox に変更します。メインの子テーブルのノードを [データ ソース] ウィンドウからフォームにドラッグします。
説明のラベルが付いたデータ バインド コントロールとツール ストリップ (BindingNavigator) がフォームに表示されます。 DataSet、TableAdapter、BindingSource、および BindingNavigator がコンポーネント トレイに表示されます。
次に、[データ ソース] ウィンドウからメインの親テーブルのノードを検索コントロール (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 の概要