DataGridView コントロールとその関連クラスは、表形式データを表示および編集するための柔軟で拡張可能なシステムとして設計されています。 これらのクラスはすべて System.Windows.Forms 名前空間に含まれており、すべて "DataGridView" プレフィックスで名前が付けられます。
アーキテクチャ要素
プライマリ DataGridView コンパニオン クラスは、 DataGridViewElementから派生します。 次のオブジェクト モデルは、 DataGridViewElement 継承階層を示しています。
DataGridViewElement クラスは、親DataGridView コントロールへの参照を提供し、State プロパティを持ち、DataGridViewElementStates列挙体の値の組み合わせを表す値を保持します。
以降のセクションでは、 DataGridView コンパニオン クラスについて詳しく説明します。
DataGridViewElementStates
DataGridViewElementStates列挙には、次の値が含まれています。
この列挙体の値はビットごとの論理演算子と組み合わせることができるため、 State プロパティは一度に複数の状態を表すことができます。 たとえば、 DataGridViewElement を同時に Frozen、 Selected、および Visibleできます。
セルとバンド
DataGridView コントロールは、セルとバンドの 2 種類の基本的なオブジェクトで構成されます。 すべてのセルは、 DataGridViewCell 基底クラスから派生します。 DataGridViewColumnとDataGridViewRowの 2 種類のバンドは、どちらもDataGridViewBand基底クラスから派生します。
DataGridViewコントロールは複数のクラスと相互運用しますが、最も一般的に見られるのは、DataGridViewCell、DataGridViewColumn、およびDataGridViewRowです。
DataGridViewCell
セルは、 DataGridViewの相互作用の基本単位です。 表示はセルの中央に配置され、多くの場合、データ入力はセルを介して実行されます。 Cells クラスのDataGridViewRow コレクションを使用してセルにアクセスできます。また、SelectedCells コントロールのDataGridView コレクションを使用して、選択したセルにアクセスできます。 次のオブジェクト モデルは、この使用法を示し、 DataGridViewCell 継承階層を示しています。
DataGridViewCell型は抽象基底クラスであり、そこからすべてのセル型が派生します。 DataGridViewCell およびその派生型は Windows フォーム コントロールではなく、一部のホスト Windows フォーム コントロールです。 セルでサポートされる編集機能は、通常、ホストされたコントロールによって処理されます。
DataGridViewCell オブジェクトは、Windows フォーム コントロールと同じように、独自の外観や描画機能を制御しません。 代わりに、 DataGridView は DataGridViewCell オブジェクトの外観を担当します。 DataGridView コントロールのプロパティとイベントを操作することで、セルの外観と動作に大きな影響を与えることができます。 DataGridView コントロールの機能を超えるカスタマイズの特別な要件がある場合は、DataGridViewCellまたはその子クラスの 1 つから派生した独自のクラスを実装できます。
次の一覧は、 DataGridViewCellから派生したクラスを示しています。
カスタム セルの種類
DataGridViewColumn
DataGridView コントロールのアタッチされたデータ ストアのスキーマは、DataGridView コントロールの列で表されます。 DataGridView コレクションを使用して、Columns コントロールの列にアクセスできます。 SelectedColumns コレクションを使用して、選択した列にアクセスできます。 次のオブジェクト モデルは、この使用法を示し、 DataGridViewColumn 継承階層を示しています。
一部のキー セルの種類には、対応する列の種類があります。 これらは、 DataGridViewColumn 基底クラスから派生します。
次の一覧は、 DataGridViewColumnから派生したクラスを示しています。
カスタム列の種類
DataGridView 編集コントロール
高度な編集機能をサポートするセルは、通常、Windows フォーム コントロールから派生したホストされたコントロールを使用します。 これらのコントロールは、 IDataGridViewEditingControl インターフェイスも実装します。 次のオブジェクト モデルは、これらのコントロールの使用方法を示しています。
DataGridView コントロールには、次の編集コントロールが用意されています。
独自の編集コントロールを作成する方法については、「 方法: Windows フォーム DataGridView セルでコントロールをホストする」を参照してください。
次の表は、セルの種類、列の種類、および編集コントロール間のリレーションシップを示しています。
DataGridViewRow
DataGridViewRow クラスは、DataGridView コントロールがアタッチされているデータ ストアのレコードのデータ フィールドを表示します。 DataGridView コレクションを使用して、Rows コントロールの行にアクセスできます。 SelectedRows コレクションを使用して、選択した行にアクセスできます。 次のオブジェクト モデルは、この使用法を示し、 DataGridViewRow 継承階層を示しています。
DataGridViewRow クラスから独自の型を派生させることができますが、通常は必要ありません。 DataGridView コントロールには、DataGridViewRow オブジェクトの動作をカスタマイズするための行関連のイベントとプロパティがいくつかあります。
DataGridView コントロールの AllowUserToAddRows プロパティを有効にすると、新しい行を追加するための特別な行が最後の行として表示されます。 この行は Rows コレクションの一部ですが、注意が必要な特別な機能があります。 詳細については、「 Windows フォーム DataGridView コントロールでの新しいレコードの行の使用」を参照してください。
こちらも参照ください
.NET Desktop feedback