数年前、私は自分のDataGridを作成することに決めました。これは、DataTableを入力パラメータとして使用し、文字列(Webページ上にテーブルを表示するHTMLコード)を返す非常に単純な関数です。asp.netカスタムグリッドとGridView/ListView
非常に柔軟性があります(ページング、並べ替え、各列の書式設定が必要なオプションのパラメータがいくつかあります)。高速です(データベースから取得されたレコードのみが検索されます)。 関数自体は非常に短い(約20行のコード行)。私は少なくとも4年間これを使ってきました。
、あなたのウェブページ上のプレースホルダを持っていると仮定すると、これはあなたがカスタム関数を呼び出す方法です:
MyPlaceHolder.Controls.Add(new LiteralControl(CreateCustomGrid(MyDataTable)))
CreateCustomGrid(MyDataTable)))(このような何かを返しますMyDataTableは2列と2行を持っている場合):
<table class="MyClass" rules="all">
<tr>
<th>Column1</th>
<th>Column2</th>
</tr>
<tr>
<td align="center">Value1</td>
<td align="center">Value2</td>
</tr>
<tr>
<td align="center">Value3</td>
<td align="center"><a href=’MyLink’>Value4</a></td>
</tr>
</table>
内部関数は、各列の書式を設定する方法を知っている(この機能はのみ1つのウェブサイト上で使用されている)が、それはオプションのパラメータを使用することにより、個々の列のためにそれを変更することも可能です。ページングとソートの場合と同じです。全体的に、これは非常に柔軟で使いやすいです。
変更され、DataGridがGridViewまたはListViewに置き換えられました。私はそれらを見てきましたが、私の機能がそうでないことは何も見ませんので、私は自分の機能を使い続けるように誘惑されるでしょうが、何かを見落としているかもしれません。同時に、カスタム関数を使用してhtmlテーブルを生成することは少し奇妙に見えます。これについてのあなたの意見は何ですか?
+1私の考えは正確です。まあまあ! –