ASP.NET の DataGrid と GridView の違いは何ですか?
-
08-06-2019 - |
質問
私はここしばらく ASP.NET 開発を行っており、これまでさまざまな目的で GridView コントロールと DataGrid コントロールの両方を使用してきましたが、どちらかを使用する十分な理由が見つかりませんでした。知りたいのは:
これら 2 つの ASP.NET コントロールの違いは何ですか?両方の長所または短所は何ですか?1つはもっと速いですか?もっと新しい?メンテナンスが容易になりますか?
コントロールのインテリセンスの概要には、2 つの間の違いが説明されていないようです。どちらもデータを表示、編集、並べ替えることができ、実行時に列を自動的に生成できます。
編集: Visual Studio 2008 では、ツールボックスで使用可能なコントロールとして DataGrid がリストされなくなりました。ただし、手動で入力した場合は、まだ使用できます(レガシーサポートのためだと思います)。
解決
DataGrid は ASP.NET 1.1 コントロールであり、現在もサポートされています。GridView は 2.0 で登場し、特定のタスクを簡素化し、さまざまなデータバインディング機能を追加しました。
このリンクには、DataGrid と GridView の機能の比較が含まれています。
https://msdn.microsoft.com/en-us/library/05yye6k9(v=vs.100).aspx
他のヒント
の GridView
コントロールはの後継です DataGrid
コントロール。以下のような DataGrid
コントロール、 GridView
コントロールは、HTML テーブルにデータを表示するように設計されています。データ ソースにバインドされている場合、 DataGrid
そして GridView
各コントロールは、 DataSource
出力テーブルの行として。
どちらも DataGrid
そして GridView
コントロールは、 WebControl
クラス。オブジェクトモデルは類似していますが、 DataGrid
GridView コントロールには、コントロールに比べて多くの新機能と利点があります。 DataGrid
コントロールには次のものが含まれます。
- より豊富な設計時機能。
- データ ソース バインディング機能が向上しました。
- 並べ替え、ページング、更新、削除の自動処理。
- 追加の列タイプと設計時の列操作。
- PagerTemplate プロパティを使用したカスタマイズされたページャー ユーザー インターフェイス (UI)。
の違い GridView
コントロールと DataGrid
制御には次のものが含まれます。
- さまざまなカスタム ページングのサポート。
- さまざまなイベントモデル。
データの並べ替え、ページング、およびインプレース編集には、 DataGrid
コントロール。の GridView
コントロールを使用すると、コードを書かずに並べ替え、ページング、および編集機能を追加できます。代わりに、コントロールのプロパティを設定することで、これらのタスクを、データ ソースへのデータ バインディングなどの他の一般的なタスクとともに自動化できます。
DataGrid はもともと .NET 1.0 にありました。GridView は .NET 2.0 で導入されました (そして DataGrid に置き換わりました)。これらはほぼ同じ機能を提供します。
Visual Studio 2008 / .NET 3.5 で作業している場合は、おそらくどちらも使用しないでください。ListView を使用します。これにより、GridView の機能とリピーターのスタイルの柔軟性が組み合わされます。
主な違いは ViewState 管理 IIRC にあります。DataGrid で編集および並べ替え機能を使用するには、ViewState をオンにする必要があります。
セキュリティに関する重要な違いの 1 つは、DataGrid がバインドされたデータを HtmlEncode しない BoundColumn を使用することです。HtmlEncoding をオンまたはオフにするプロパティもないため、何らかの方法でコードで行う必要があります。
GridView は BoundField を使用します。これは、バインドされたデータに対してデフォルトで HtmlEncode を実行します。これをオフにする必要がある場合は、HtmlEncode プロパティがあります。
データグリッド
DataGrid
と紹介されましたAsp.Net 1.0
.- 並べ替えのために処理する必要があるのは、
SortCommand event
必要なグリッドの再バインドとページングには、PageIndexChanged event
グリッドの再バインドが必要です。 - 更新操作と削除操作を実装するためのコードを作成する必要があります。
- 自動フォーマット機能やスタイル機能はサポートしません。
- に比べてパフォーマンスが速い
GridView
.
グリッドビュー
- GridView は、
Asp.Net 2.0
. - 内蔵サポート
Paging and Sorting
. - 内蔵サポート
Update and Delete operations
. - 自動フォーマットまたはスタイル機能をサポートします。
- に比べてパフォーマンスが遅い
DataGrid
.
の events
そして properties
のように Item
のように変わりました Row
.
例えば、
ItemCommand - RowCommand
ItemDataBound - RowDataBound
e.Item.ItemType - e.Row.RowType
グリッドビューと詳細ビューの基本的な違い
GridView コントロールには、DataGrid コントロールに比べて次のような多くの新機能と利点もあります。
· より豊富な設計時機能。· データ ソース バインディング機能が向上しました。· 並べ替え、ページング、更新、削除の自動処理。· 追加の列タイプと設計時の列操作。· PagerTemplate プロパティを使用したカスタマイズされたページャー ユーザー インターフェイス (UI)。
GridView コントロールと DataGrid コントロールの違いは次のとおりです。· さまざまなカスタム ページングのサポート。· さまざまなイベントモデル。
違いの 1 つは HTML 出力です。データグリッドはヘッダーの TD を出力し、グリッドビューは TH を出力します。これにより、表示に直感的ではない変化が生じる可能性があります。