2

私はDataTablesと呼ばれる jQuery プラグインを使用しており、ページネーションをサポートする Ajax ソースから自動的に入力されるテーブルを表示したいと考えています。問題は、サーバーから、すべての結果のうち 10 件しか得られないことです (応答には結果の総数も含まれています)。したがって、ページネーションは次のようになります: 10 の結果のうち 1 から 10 を表示します。

私はそれを言いたい: X の結果のうち 1 から 10 を表示します。ここで、X は結果の総数です。サーバー側の処理を使用できません。だから私の質問は:

このタイプのページネーションを使用するには、DataTables プラグインをどのように構成すればよいですか?

たとえば、次のようなものです。

jQuery(table).dataTable({
  "aoColumnDefs": [...],
  "bProcessing" : true,
  "sAjaxSource" : "...",
  "sAjaxDataProp" : "...",

  "sOffsetParam" : "offset",
  "sNumFoundParam" : "totalResults"
});

繰り返しになりますが、私はクライアント側でのみ作業するように制限されています。

私は部分的な応答を見つけることができました:

「bServerSide」フラグを TRUE に設定すると、プラグインは、ページネーション システムの構築に必要なフィールドをサーバー応答内で調べます。ただし、フィールド名はまだハードコーディングされているため、カスタム フィールド名を使用する方法が必要です。また、オフセットは「sEcho」パラメーター (必要なページ数を示す) を使用して送信されます。

4

1 に答える 1

0

ここでわかるように、サーバーは 2 つのパラメーターを返す必要があります

int - iTotalRecords - フィルタリング前の合計レコード (つまり、データベース内のレコードの合計数) int - iTotalDisplayRecords - フィルタリング後の合計レコード (つまり、フィルタリングが適用された後の合計レコード数 - 返されるレコードの数だけではありません)この結果セットで)

サーバーがこれらのパラメーターを返さない場合、クライアントは次/前のボタンを描画する必要があることを認識できません

于 2012-08-24T19:00:09.323 に答える