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 インターフェイスを実装しているクラスにもバインドできます。
データ バインディング
一般に、データ バインディングは、[データ ソース] ウィンドウから DataRepeater コントロールにフィールドをドラッグして行います。 詳細については、「方法 : DataRepeater コントロールにバインドされたデータを表示する (Visual Studio)」を参照してください。
大量のデータを処理する場合は、VirtualMode プロパティを True に設定して、使用可能なデータのサブセットを表示できます。 仮想モードでは、データ キャッシュを実装してそこから DataRepeater にデータを読み込むことが必要であり、実行時にそのデータ キャッシュとのやり取りを制御する必要があります。 詳細については、「DataRepeater コントロールの仮想モード (Visual Studio)」を参照してください。
DataRepeater コントロールには、非バインド コントロールも表示できます。 たとえば、項目ごとに繰り返されるイメージを表示できます。 詳細については、「方法 : DataRepeater コントロールに非バインド データを表示する (Visual Studio)」を参照してください。
イベント
DataRepeater コントロールの最も重要なイベントは、新しい項目をスクロールして表示すると発生する DrawItem イベント、および、項目を選択すると発生する CurrentItemIndexChanged イベントです。 DrawItem イベントを使用して、項目の外観を変更できます。 たとえば、負の値を強調表示できます。 CurrentItemIndexChanged イベントを使用すると、項目が選択されたときにコントロールの値にアクセスできます。
DataRepeater コントロールは、コード エディターにすべての標準コントロール イベントを公開します。 ただし、一部のイベントは使用しないでください。 DataRepeater コントロール自体はフォーカスを取得しないので、実行時に KeyDown、Click、MouseDown などのキーボード イベントおよびマウス イベントが発生することはありません。
DataRepeaterItem は実行時にのみ作成されるので、デザイン時にイベントを公開しません。 キーボード イベントおよびマウス イベントを処理する必要がある場合は、デザイン時に ItemTemplate に Panel コントロールを追加し、Panel のイベントを処理できます。 詳細については、「DataRepeater コントロールのトラブルシューティング (Visual Studio)」を参照してください。
カスタマイズ
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)