3

私はデータテーブルが初めてです。過去 2 日間からサーバー側処理の解決策を見つけようとしていますが、解決策が見つかりませんでした。

私のJSコードは

this.$("#example").DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": "../employees.json",
            "columns": [{
                "data": "Name"
            }, {
                "data": "Age"
            }, {
                "data": "Country"
            }, {
                "data": "Address"
            }, {
                "data": "Married"
            }]
        });

Datatable は、JSON をテーブル形式でレンダリングします。しかし、ソート、ページネーション、および検索操作は機能していません。ドロップダウンから選択した値に関係なく、最初のページにすべての結果が表示されます

また、下部には「0 エントリの 0 から 0 を表示中 (NaN 合計エントリからフィルタリング)」のようなメッセージが表示されます。

serverSide: false を渡す場合。すべて正常に動作します。しかし、私は同じのサーバー側の処理が欲しい

どんな助けでもいただければ幸いです

4

4 に答える 4

1

serverSide を true に設定すると、DataTable の代わりにサーバーがすべての並べ替えとページングを処理することを DataTable に伝えます。DataTables は、サーバーからのデータをそのまま表示します。

したがって、サーバーが DataTables から送信されたすべての並べ替えとページングのパラメーターを無視している場合、データはおかしく見えます。(あなたの場合、要求されたページサイズに関係なく、サーバーはすべてのレコードをリストしているようです)。

次の 2 つのオプションがあります。

  1. serverSide を false のままにします。サーバーにすべてのデータを DataTables に送信させ、並べ替え、ページング、順序付けを処理させます。通常、中程度の数のレコード (50,000 レコード以下) にはこれで十分です。
  2. サーバーを変更して、DataTable の要求に応じて並べ替え、ページング、順序付けを適切に処理するようにします。DataTables は 1 ページ分のデータからその情報を推測できないため、より多くの情報 (ページング用のレコードの総数など) を提供する必要があります。DataTables がサーバーに送信するパラメーターについては、 https ://datatables.net/manual/server-side#Sent-parametersを参照してください。サーバーが戻るはずです。
于 2016-05-19T19:03:43.183 に答える
1

json フォームの戻り値には、次のものが必要です。

iTotalRecords : (Total rows),
iTotalDisplayRecords : (Total rows to display in your grud),
aaData : {(Your data)}.

私のために働きます。

于 2016-12-10T14:54:24.287 に答える
0

true に設定する必要があるオプションがいくつかあります

例えば

this.$("#example").DataTable({
            "processing": true,
            "serverSide": true,
            "ajax": "../employees.json",
            "columns": [{
                "data": "Name"
            }, {
                "data": "Age"
            }, {
                "data": "Country"
            }, {
                "data": "Address"
            }, {
                "data": "Married"
            }],            
            'scrollCollapse': true,
            'ordering': true,
            'order': [[0, 'asc']],
            'searching': true,
            'paging': true,
        });
于 2015-09-03T11:16:27.627 に答える