アプリケーションを完全に制御するには、GridView と HTML テーブルのどちらを使用しますか? なぜ?
たとえば、GridView/HTML テーブルで行ごとにその場でハイパーリンクを作成する必要があります。その機能 (またはこのような他の機能) を追加するのがより簡単なオブジェクトはどれですか?
注: プログラムでデータセットを作成しています
アプリケーションを完全に制御するには、GridView と HTML テーブルのどちらを使用しますか? なぜ?
たとえば、GridView/HTML テーブルで行ごとにその場でハイパーリンクを作成する必要があります。その機能 (またはこのような他の機能) を追加するのがより簡単なオブジェクトはどれですか?
注: プログラムでデータセットを作成しています
並べ替えやページングの組み込みサポートが必要なく、レンダリングされた出力をより細かく制御したい場合は、Repeater コントロールを使用してテーブルを出力することを検討してください。組み込みの並べ替え/ページングが必要な場合は、GridView が非常に役立ちます。
両方の長所を活用したい場合は、ASP.net 3.5 にアップグレードして ListView を使用してください。
編集:「オンザフライのハイパーリンクごとの行」の意味を明確にできますか?
Gridview には近づかないでください。ページングをレンダリングするには、データセット全体をプルダウンする必要があります。必要な行のみ (たとえば、6,000 行のうち 30 ~ 40 行) をレンダリングし、別のページャー コントロールを使用する方がはるかに高速です。また、HTML/CSS に関しては、リピーターまたはリストビューを使用すると、コードを完全に制御できるため、デバッグがはるかに簡単になります。
Response.Write によって生成されたプレーンな HTML <table> は単純であり、Microsoft 以外のシステムで作業する場合、冗長な ASP.NET Web コントロールがなくても何も感じないという追加の利点があります。誰もが知っている HTML を生成するのは困難です。
並べ替えやページングが必要ない場合は、リピーターまたは新しい ListView が最適だと思います。Repeater と ListView を使用すると、コントロールに付属する面倒なサーバー側コードを回避しながら、HTML を制御できます (GridView はこの点で完全なブラック ボックスであり、ひどい HTML を生成します) <asp:Table>
。セルのあるもの。行にセルを追加。テーブルに行を追加。繰り返し」.
一方、ページングと並べ替えが必要な場合は、おそらく GridView の方が優れたソリューションです。
データをソート/ページングする必要がある場合でも、GridView またはより単純な Repeater のようなコントロールを使用して、独自の html を作成できます。たとえば Repeater を使用すると、プロパティ AllowPaging が に設定された PagedDataSource データ ソースを使用して、ページネーションのカスタム システムを構築できますtrue
。
唯一の問題は、単純な Repeater では、GridView がネイティブに行う作業を行うために、より多くのコードを記述しなければならないことです。
しかし、結果はより高速です。