0

.net aspx ページで telerik radgrid を使用しています。カスタムページネーションを実装したい。しかし、このために、最初は総レコード数がありません。ユーザーが最後のページに到達した後に次のページのリンクをクリックしたときに、サーバーからより多くのデータを取得したい。

例: 最初に 1 ページ目に 10 レコードしか表示されていない場合。「次へ」リンクをクリックすると、次のデータセットが取得されます。

しかし、問題は次のとおりです。次のページがない場合、「次へ」ボタンは OnCommand または OnItemCommand イベントを発生しません。

問題は、レコードの総数が最初にわからない場合のページネーションの処理方法です。グリッドがすでに最後のページを表示しているかどうかに関係なく、「次へ」ボタンのクリック イベントを取得するために処理する radgrid イベント。

4

1 に答える 1

0

グリッドが既に最後のページにある場合、「最後のページ」ボタンをクリックすると発生するイベントは発生しませんでした。

回避策として、最後にダミーページを追加しました。ダミーページをクリックすると、サーバーから次のレコードセットが取得されます。

RadGrid でカスタム ページネーションを実装するために、次のことを行います
。 1. aspx ページで、RadGrid コントロール
の次の属性を追加します。AllowPaging="true"
b. AllowCustomPaging="true"
c. VirtualItemCount = サーバー
2 の合計レコード数。コード ビハインドで、必要なときにサーバーからデータを取得する NeedDataSource イベントを実装します。

ここでは、事前に VirtualItemCount を知りません。そのため、ページの OnPreRender() 関数で VirtualItemCount を設定しました。
VirtualItemCount = いいえ。グリッド内のレコード数 + RadGrid の PageSize
これにより、グリッドのページ番号の最後にダミー ページが追加されます。

ダミーページをクリックすると、サーバーから次のデータセットを取得します。ここでも、サーバーから受信した現在のレコード数とページサイズに従って、OnPreRender() 関数で VirtualItemCount が更新されます。

于 2014-03-19T11:17:22.277 に答える