2016-06-13 8 views
0

AngularJSのUI-GRIDを使用してクライアント側のページ付けを行う方法を知っています。しかし、私はAngularJSのUI-GRIDを使用して、サーバーサイドページネーションを知りたいと思います。次のページをクリックすると、次のページのみの結果がサーバーから取得され、ユーザーに表示されます。私はたくさんの検索をしましたが、適切な解決策を見つけることができませんでした。AngularJSのUI-GRIDにおけるサーバー側のページ設定

サンプルコードとしてPlunkerを提供できれば素晴らしいと思います。

ありがとうございます。

答えて

0

あなたは、SQLクエリを使用している場合は、order by

SELECT * FROM YourTable order by SomeRow desc 
OFFSET @skipRows -- skip 10 rows 
FETCH NEXT @pageSize ROWS ONLY; 

よう

の助けを借りてOFFSET and FETCHを使用OrderBy

よう
context.YourTable.OrderByDescending(sort).Skip(skipRows).Take(pageSize).ToList(); 

の助けを借りてTake and Skip拡張メソッドを使用するエンティティフレームワークを使用している場合戦略

  1. PageSize(例:10)としてpageSizeをサーバー側の関数またはAPIに渡します。
  2. skipRowsをサーバー側に渡します。ですから、あなたが3ページにあるときに

    のskipRows =のpageSize *(ページ-1)

それではのskipRows値が(10 * 2 = 20)になりますので、サーバ側からあなたが得る3ページあるとし次の10 rowsをスキップした後20 rows

EDIT 1:セットアップにUIグリッド

が真useExternalPaginationを設定し、データをページの変更を追跡し、取得するためにgridApi.pagination.on.paginationChangedを使用する方法

あなたはこのplnkr

+0

はありがとうござい参照することができます情報。私はEnitity Frameworkのやり方を知っています。私の質問は、UIグリッドでそれを行う方法です。 UI-GRIDのページに対して呼び出す方法あなたや誰かがPlunkerを提供できるなら、それは素晴らしいことでしょう。 – user6389905

+0

@ user6389905は答えを更新しました。 –

+0

Ashish、あなたが提供したplunkerは、サーバーからすべてのデータを取得してから、クライアント側でスライスします。私は実際には、選択されたデータのみがサーバーからUI-GRIDに取得されるシナリオが必要です。 – user6389905

関連する問題