2009-05-05 23 views
1

数年前、私は自分の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テーブルを生成することは少し奇妙に見えます。これについてのあなたの意見は何ですか?

答えて

0

GridView/ListViewを使って何ができるのかを調べる必要があると思いますが、最終的には、あなたとあなたの顧客が自分のコードに満足していて、それがあなたのために働いていれば、そこに何か他のものがあるだけで変わる必要はありません。

1

あなたのコードがうまく動作していれば、私は既存のコードを変更しません。追加の機能については、カスタムデータバインドされたWebControlでラッピングすることを検討してください。あなたはデータソースなどを使用することができます。

+0

+1私の考えは正確です。まあまあ! –

関連する問題