DataRepeater コントロールの概要 (Visual Studio)

Visual Basic Power Packs の DataRepeater コントロールは、データベース テーブルの行などの繰り返されるデータを表示するコントロールの、スクロール可能なコンテナーです。データのレイアウトを詳細に制御する必要がある場合は、DataGridView コントロールの代わりにこのコントロールを使用できます。DataRepeater は、スクロール可能なビュー内に複数のインスタンスを作成することによって、関連するコントロールのグループを "繰り返し" ます。これによって、ユーザーは複数のレコードを同時に表示できます。

概要

デザイン時には、DataRepeater コントロールは 2 つのセクションで構成されます。外部セクションはビューポートであり、このセクションに実行時にスクロール可能なデータが表示されます。内部 (上部) セクションは項目テンプレートであり、このセクションに実行時に繰り返されるコントロールを配置します (通常はデータ ソースのフィールドごとに 1 つのコントロールを配置)。項目テンプレート内のプロパティおよびコントロールは、ItemTemplate プロパティ内にカプセル化されます。

実行時には、各レコードがスクロールされて表示されると、データの表示に使用される仮想 DataRepeaterItem オブジェクトに ItemTemplate がコピーされます。DrawItem イベントで、フィールドの値に基づいてフィールドを強調表示するなど、個別のレコードの表示をカスタマイズできます。詳細については、「方法 : DataRepeater コントロールの外観を変更する (Visual Studio)」を参照してください。

DataRepeater コントロールの最も一般的な用途は、データベース テーブルまたはその他のバインド データ ソースからデータを表示することです。DataRepeater コントロールは、ADO.NET データ オブジェクト以外に、IList インターフェイスを実装しているクラス (配列も含まれます)、IListSource インターフェイスを実装しているクラス、IBindingList インターフェイスを実装しているクラス、または IBindingListView インターフェイスを実装しているクラスにもバインドできます。

Cc488280.collapse_all(ja-jp,VS.110).gifデータ バインディング

一般に、データ バインディングは、[データ ソース] ウィンドウから DataRepeater コントロールにフィールドをドラッグして行います。詳細については、「方法 : DataRepeater コントロールにバインドされたデータを表示する (Visual Studio)」を参照してください。

大量のデータを処理する場合は、VirtualMode プロパティを True に設定して、使用可能なデータのサブセットを表示できます。仮想モードでは、データ キャッシュを実装してそこから DataRepeater にデータを読み込むことが必要であり、実行時にそのデータ キャッシュとのやり取りを制御する必要があります。詳細については、「DataRepeater コントロールの仮想モード (Visual Studio)」を参照してください。

DataRepeater コントロールには、非バインド コントロールも表示できます。たとえば、項目ごとに繰り返されるイメージを表示できます。詳細については、「方法 : DataRepeater コントロールに非バインド データを表示する (Visual Studio)」を参照してください。

Cc488280.collapse_all(ja-jp,VS.110).gifイベント

DataRepeater コントロールの最も重要なイベントは、新しい項目をスクロールして表示すると発生する DrawItem イベント、および、項目を選択すると発生する CurrentItemIndexChanged イベントです。DrawItem イベントを使用して、項目の外観を変更できます。たとえば、負の値を強調表示できます。CurrentItemIndexChanged イベントを使用すると、項目が選択されたときにコントロールの値にアクセスできます。

DataRepeater コントロールは、コード エディターにすべての標準コントロール イベントを公開します。ただし、一部のイベントは使用しないでください。DataRepeater コントロール自体はフォーカスを取得しないので、実行時に KeyDown、Click、MouseDown などのキーボード イベントおよびマウス イベントが発生することはありません。

DataRepeaterItem は実行時にのみ作成されるので、デザイン時にイベントを公開しません。キーボード イベントおよびマウス イベントを処理する必要がある場合は、デザイン時に ItemTemplatePanel コントロールを追加し、Panel のイベントを処理できます。詳細については、「DataRepeater コントロールのトラブルシューティング (Visual Studio)」を参照してください。

Cc488280.collapse_all(ja-jp,VS.110).gifカスタマイズ

DataRepeater コントロールの外観と動作は、実行時にもデザイン時にも、多くの方法でカスタマイズできます。プロパティを設定することによって、色の変更、項目ヘッダーの非表示化や変更、垂直方向から水平方向への変更など、さまざまな変更を行うことができます。詳細については、「方法 : DataRepeater コントロールの外観を変更する (Visual Studio)」、「方法 : DataRepeater コントロールに項目ヘッダーを表示する (Visual Studio)」、および「方法 : DataRepeater コントロールのレイアウトを変更する (Visual Studio)」を参照してください。

DataRepeater コントロール自体に適用されるプロパティと、ItemTemplate のみに適用されるプロパティがあることに注意してください。プロパティを設定する前に、コントロールの正しいセクションを選択していることを確認してください。詳細については、「方法 : DataRepeater コントロールの外観を変更する (Visual Studio)」を参照してください。

その他のカスタマイズとして、レコードの追加または削除の権限の制御、検索機能の追加、関連データのマスター/詳細形式の表示などがあります。詳細については、「方法 : DataRepeater の項目の追加と削除を無効にする (Visual Studio)」、「方法 : DataRepeater コントロールでデータを検索する (Visual Studio)」、および「方法 : 2 つの DataRepeater コントロールを使用してマスター/詳細形式のフォームを作成する (Visual Studio)」を参照してください。

参照

処理手順

チュートリアル : DataRepeater コントロールでのデータの表示 (Visual Studio)

DataRepeater コントロールのトラブルシューティング (Visual Studio)

その他の技術情報

DataRepeater コントロール (Visual Studio)