1

動的結果セットのカスタム ページングを維持する方法は? (つまり) 10 個のドロップダウンの選択に基づいて、私のストアド プロシージャは結果セットを動的に生成しますが、何百万ものレコードを入力します。

行は静的にレコード数を知っていますが、カスタムページングは​​効率的ですが、動的に成長した結果セットに対してそれを達成する方法は?

問題

ジェネリック リストを GridView にバインドする必要がありますが、列は固定されていますが、返される行数は不明ですが、カスタム ページングがなければ、GridView に結果を入力するのに 30 分かかりました。

4

2 に答える 2

2

拡張可能な操作によりページングが容易になるため、可能であればLINQを使用する必要があります。

基本的に、GridViewにObjectDataSourceまたはLinqDataSourceを指定します。

次に、IQueryable<T>取得する開始位置と行数を受け入れるメソッドがあります。

Skip()次に、とを利用しTake()て単純なページングを実現します。

これはそれを行うための非常に良い記事です。

とは、IEnumerableを実装するすべてのクラスに公開されるメソッドであることSkip()を忘れないでください。Take()したがって、上記の記事ではデータリポジトリにLINQ-SQLを使用していますが、独自のDALが型のコレクションを公開している限り、SkipandTakeIEnumerableパターンを使用できます。

お役に立てば幸いです。

于 2010-07-29T00:35:12.857 に答える
0

これをサーバー側で行う簡単な方法は、LINQ を使用することです。.Take() メソッドで取りました。

于 2010-07-28T21:51:47.303 に答える