.NET Framework アプリケーションの [データ ソース] ウィンドウにカスタム コントロールを追加する

Note

データセットと関連クラスは、アプリケーションがデータベースから切断されている間にアプリケーションがメモリ内のデータを操作できるようにする、2000 年代初期からのレガシ .NET Framework テクノロジです。 これらが特に役立つのは、ユーザーがデータを変更し、変更をデータベースに戻して保持できるようにするアプリケーションです。 データセットは非常に優れたテクノロジであることが証明されていますが、新しい .NET アプリケーションでは Entity Framework Core を使用することをお勧めしています。 Entity Framework には、オブジェクト モデルとして表形式データを操作する、より自然な方法が用意されており、よりシンプルなプログラミング インターフェイスが備わっています。

[データ ソース] ウィンドウからデザイン サーフェイスに項目をドラッグしてデータ バインド コントロールを作成するときには、作成するコントロールの種類を選択できます。 ウィンドウの各項目には、選択できるコントロールが表示されるドロップダウン リストがあります。 各項目に関連付けられるコントロールのセットは、項目のデータ型によって決まります。 作成しようとしているコントロールが一覧に表示されない場合は、このトピックの手順に従って一覧にコントロールを追加できます。

[データ ソース] ウィンドウで項目のために作成するデータ バインド コントロールを選択することの詳細については、「[データ ソース] ウィンドウからドラッグしたときに作成されるコントロールを設定する」を参照してください。

バインド可能なコントロールの一覧をカスタマイズする

[データ ソース] ウィンドウの、特定のデータ型の項目に対して使用できるコントロールの一覧でコントロールを追加または削除するには、以下の手順を実行します。

データ型に対して一覧表示されるコントロールを選択するには

  1. WPF デザイナーまたは Windows フォーム デザイナーが開いていることを確認します。

  2. [データ ソース] ウィンドウで、ウィンドウに追加したデータ ソースの一部である項目をクリックしてから、その項目のドロップダウン リスト メニューをクリックします。

    ヒント

    [データ ソース] ウィンドウが開いていない場合は、 [表示]>[その他のウィンドウ]>[データ ソース] と選択して開きます。

  3. ドロップダウン リスト メニューの [カスタマイズ] をクリックします。 次のいずれかのダイアログ ボックスが開きます。

    • [Windows フォーム デザイナー] が開いている場合は、 [オプション] ダイアログ ボックスの [データ UI カスタマイズ] ページが開きます。 詳細については、[データ UI カスタマイズ] オプション ダイアログ ボックスに関するページを参照してください。

    • [WPF デザイナー] が開いている場合は、 [コントロールのバインドのカスタマイズ] ダイアログ ボックスが開きます。

  4. ダイアログ ボックスで、 [データ型] ドロップダウン リストからデータ型を選択します。

    • テーブルまたはオブジェクト用のコントロールの一覧をカスタマイズするには、 [一覧] を選択します。

    • テーブルの列またはオブジェクトのプロパティ用のコントロールの一覧をカスタマイズするには、基になっているデータ ストアの列またはプロパティのデータ型を選択します。

    • ユーザー定義の形状を持つデータ オブジェクトを表示するコントロールの一覧をカスタマイズするには、 [その他] を選択します。 たとえばアプリケーションに、特定のオブジェクトに関して、複数のプロパティからのデータを表示するカスタム コントロールがある場合は、 [その他] を選択します。

  5. [関連付けられたコントロール] ボックスで、選択したデータ型で使用できるようにするコントロールをそれぞれ選択するか、一覧から削除するすべてのコントロールの選択を解除します。

    Note

    選択したいコントロールが [関連付けられたコントロール] ボックスに表示されない場合は、そのコントロールを一覧に追加する必要があります。 詳細については、「関連付けられるコントロールを追加する」を参照してください。

  6. OK をクリックします。

  7. [データ ソース] ウィンドウで、1 つ以上のコントロールに関連付けたばかりのデータ型の項目をクリックしてから、その項目のドロップダウン リスト メニューをクリックします。

    [関連付けられたコントロール] ボックスで選択したコントロールが、その項目のドロップダウン リスト メニューに表示されるようになっています。

関連付けられるコントロールを追加する

コントロールをデータ型に関連付けしたくても、コントロールが [関連付けられたコントロール] ボックスに表示されない場合は、そのコントロールを一覧に追加する必要があります。 コントロールは、現在のソリューション内、または参照されるアセンブリ内にある必要があります。 また、 [ツールボックス] で選択可能で、コントロールのデータ バインディング動作を指定する属性がある必要があります。

関連付けられたコントロールの一覧にコントロールを追加するには、次の操作を行います。

  1. [ツールボックス] を右クリックして [項目の選択] を選択し、必要なコントロールを [ツールボックス] ボックスに追加します。

    コントロールには次のいずれかの属性が必要です。

    属性 説明
    DefaultBindingPropertyAttribute TextBox など、単一列 (またはプロパティ) のデータを表示する単純なコントロールには、この属性を実装します。
    ComplexBindingPropertiesAttribute DataGridView など、データの一覧 (またはテーブル) を表示するコントロールには、この属性を実装します。
    LookupBindingPropertiesAttribute ComboBox など、データの一覧 (またはテーブル) を表示するだけでなく、単一の列またはプロパティを表示する必要もあるコントロールには、この属性を実装します。
  2. Windows フォームの場合は、 [オプション] ダイアログ ボックスで [データ UI カスタマイズ] ページを開きます。 または、WPF の場合は、 [コントロールのバインドのカスタマイズ] ダイアログ ボックスを開きます。 詳細については、データ型に対してバインドできるコントロールの一覧をカスタマイズすることに関するページを参照してください。

  3. これで [関連付けられたコントロール] ボックスに、 [ツールボックス] で追加したばかりのコントロールが表示されるはずです。

    注意

    関連付けられたコントロールの一覧に追加できるのは、現在のソリューション内、または参照されるアセンブリ内にあるコントロールだけです。 (コントロールには、前の表のいずれかのデータ バインディング属性を実装する必要もあります)。[データソース] ウィンドウにないカスタム コントロールにデータをバインドするには、目的のコントロールを [ツールボックス] からデザイン サーフェイスにドラッグしてから、バインド先の項目を [データ ソース] ウィンドウからコントロール上にドラッグします。