2011-01-23 8 views
3

私はレポート用に使用する約300〜400行のグリッドビューを持っています。ページングが必要で、ソートが必要です。私の選択肢は、次の2つのオプションの間です。a)300-400を1つのクエリで読み込み、グリッドビューにページングと並べ替えをさせます。 b)データソースレベルでページング/ソートを処理する。私はb)がより良い/より速く/より効率的になることを知っています...私の文脈では、私は比較的速く何かを行うことを探しています。私がa)を選ぶと、ページは信じられないほど/辛いほど遅く見えますか?gridviewページング

ありがとうございました。

+0

ページサイズクライアント側を制御するajaxコントロールを使用すると、www.codeproject.comを参照してください。 –

答えて

2

GridViewの組み込み関数を使用して、データ全体を一度に読み込みます。レコード数が少ない場合、特に高速ソリューションを探していると言われているため、データベースにページングを実装する努力(RowNumberを使用して)を行う価値はありません。 GridViewでページングを有効にすると、パフォーマンスは十分です。

+3

@downvoters:私は誰も下降音をコメントするのだろうかと思う。このような場合に必要とされないdb-pagingソリューションのために余分な時間(0.5〜3日)を支払わなければならない場合は、まったく異なると主張します。 –

+0

最終的に、グリッドはページングを持ちます。しかし、私はいつか分かりません。実際には別のグリッドがページングを必要とするため、すぐに表示されるように見えますが、これを行うときにはもう少し時間をかけてこの特定のグリッドをページングすることもできます。 downvoteの人のために、エンドユーザーが完璧ではなく、アプリケーションが終了することを忘れないでください。ちょうどそれを男にしてください! – frenchie

1

読んだScott Guthrieのexcellent article about paging

ASP.NET 2.0およびAtlasで構築され、ASP.NET 2.0 GridViewコントロールを使用して何十万行もの結果を表示できるデータ検索ページを実装する方法。結果はページあたり15件の結果が表示され、ユーザーはページ間をスキップしてデータを表示できる「ページング」ベースのUIモデルを使用してフォーマットされます。キックの場合は、個々の行を編集して削除するサポートも追加しました。

0

300-400行は特に大きなデータセットではありませんが、確かにスケーラビリティが高いので、オプションBに投票します。膨大な量のデータを取得し始めたら、すべてのデータを1つのクエリで読み込み、GridViewでページングを処理すると非常に遅くなります。より良い選択肢は、あなたが言ったように、各ページに必要なデータだけを照会することです。

ただし、データセットが300〜400レコードより大きくならない場合は、読み込み時間を考慮する必要はありませんが、キーはスケーラビリティになります。

+1

ありがとうございます。この特定のケースでは、データセットは日常的なアクティビティを報告するコンテキストで使用されるため、300〜500行を超えることはありません。サーバーが同時に処理できるユーザーの数は、スケーラビリティを意味しますか? – frenchie

+1

@frenchie:私は数千から数十万のページングについて話していますが、300-500レコードを超えることはないので、ビューレベルでデータをページングすることができます。 –

関連する問題