GridView Web サーバー コントロールと DataGrid Web サーバー コントロールの比較

更新 : 2007 年 11 月

GridView コントロールは DataGrid コントロールに置き換わるものです。DataGrid コントロールと同様、GridView コントロールは HTML テーブルにデータを表示するように設計されています。データ ソースにバインドされた場合、DataGrid コントロールや GridView コントロールは DataSource の行を出力テーブルの行として表示します。

DataGrid コントロールと GridView コントロールは、どちらも WebControl クラスから派生します。GridView コントロールは DataGrid コントロールに似たオブジェクト モデルを持ちますが、DataGrid コントロールと比べていくつかの新機能と利点があります。

  • 豊富なデザイン時機能

  • 向上したデータ ソース バインディング機能

  • 並べ替え、ページング、更新、および削除の自動処理

  • 追加の列の型およびデザイン時の列操作

  • PagerTemplate プロパティでカスタマイズされたページャ ユーザー インターフェイス (UI)

GridView コントロールと DataGrid コントロールの違いは、次のとおりです。

  • 異なるカスタム ページングのサポート

  • 異なるイベント モデル

向上したデザイン時機能

DataGrid コントロールを使用する場合、データの並べ替え、ページング、および埋め込み先編集を行うには追加のコーディングが必要です。GridView コントロールを使用すると、コードを記述せずに追加機能、ページング機能、および編集機能を追加できます。代わりに、コントロールにプロパティを設定して、データ ソースへのデータ バインディングなど、他の共通タスクと共にこれらのタスクを自動化することもできます。

Microsoft Visual Studio などのデザイナで作業する場合には、GridView コントロールに組み込まれたデザイナ機能を利用できます。GridView コントロールには、プロパティの設定やテンプレート編集の起動など、共通タスクを実行する場合に便利なインターフェイスを提供するスマート タグ パネルのサポートが含まれます。

向上したデータ ソース バインディング機能

通常、DataSet コントロール、DbDataReader コントロール、またはコレクション (ArrayArrayList、または System.Collections 名前空間内の他のクラス) は、DataGrid コントロールまたは GridView コントロールの DataSource プロパティに割り当てられます。DataGrid コントロールと GridView コントロールは、IEnumerable インターフェイスまたは IListSource インターフェイスを実装する任意のオブジェクトをバインドできます。

DataGrid コントロールは DataSourceControl コントロールを宣言的にバインドしますが、これは選択されたデータに対してのみ行うことができます。並べ替え、ページング、更新、および削除は、手動でコーディングする必要があります。GridView コントロールは、IDataSource インターフェイスを実装する任意のオブジェクトを受け取る DataSourceID プロパティをサポートしているため、データ ソース コントロール (たとえば、SqlDataSource コントロール) の並べ替え機能、ページング機能、更新機能、および削除機能を利用できます。

追加の列の種類

GridView コントロールは、BoundFieldHyperLinkFieldButtonFieldCommandFieldImageField、および CheckBoxField を列の種類としてサポートしています。

組み込みページングとカスタム ページングのサポート

DataGrid コントロールでページングを行うには、追加のコーディングが必要です。GridView コントロールは、PagerSettings プロパティを設定することで自動的にページングをサポートします。PagerSettings プロパティは、Numericモード (既定)、NextPrevious モード、NumericFirstLast モード、NextPreviousFirstLast モードの 4 つをサポートします。Numeric モードでは、"次のリンクや前のリンク" の代わりに番号付きのページ リンクが表示され、NumericFirstLast オプションによって最初と最後のページ リンクが追加されます。GridView コントロールの PagerStyle プロパティは、スタイルとページャの位置の設定に使用できます。

また、PagerTemplate を使用して、GridView コントロールのページャ ボタンをカスタマイズできます。

AllowCustomPaging 機構が DataGrid コントロールによって提供されるのに対し、GridView のカスタム ページング サポートはバインドされたデータ ソース コントロールによって提供されます。

拡張されたイベント モデル

DataGrid コントロールと GridView コントロールは異なるイベント モデルを持ちます。

DataGrid コントロールが単一の操作イベントを発生させるのに対し、GridView コントロールは操作前と操作後のイベントを発生させることができます。GridView コントロールは、フィールドを並べ替えたときに発生する Sorting イベントをサポートします。この並べ替えイベントは、GridView コントロールが並べ替え操作を自動で処理する前に発生するため、ユーザーは SortExpression プロパティをチェックまたは変更したり、渡されたイベント引数の Cancel プロパティを true に設定して、この操作をキャンセルしたりできます。

GridView コントロールは、GridView コントロールが並べ替え操作を完了した後で発生する Sorted イベントをサポートするため、ユーザーはソート操作の結果を変更または書式設定できます。これに対して、DataGrid コントロールは列を並べ替えたときに発生する SortCommand イベントをサポートします。同様に、GridView コントロールは、GridView コントロールが更新操作を自動で処理する前と後に発生する RowUpdating イベントと RowUpdated イベントをサポートします。これに対して、DataGrid コントロールはグリッド内の項目に対して [更新] ボタンがクリックされたときに発生する UpdateCommand イベントをサポートします。

GridView イベントの詳細については、「GridView Web サーバー コントロール イベント」を参照してください。

参照

概念

GridView Web サーバー コントロール内でのページング

GridView Web サーバー コントロール内のデータの変更

チュートリアル : GridView Web サーバー コントロールの簡単な並べ替え