私は自分のアプリケーションでDataTableを使用しています。私のアプリケーションは、サーバーがホストしているものではありません。 (私はまあ、それは別の話です。私のスタンドアロンアプリケーションで直接HTMLをレンダリングします。)動的なJavaScriptのソースデータ - DataTable
を現在、私はここで
$(dataTableSelector).dataTable({
"sDom": 't <f> <i> <p> > ',
"bRetrieve": true,
"aaSorting": [],
"aaData": rows,
"aoColumns": columns,
"oLanguage": {
"sSearch": "",
"sInfo": "_START_ - _END_ Total: _TOTAL_ ",
"sInfoFiltered": "(filtered from _MAX_)"
}
});
rows
はの配列で、私の全体のデータであり、以下のようなデータテーブルを移入しています配列をJavascriptのソースデータとして使用します。
しかし、今私の問題は、DataTableでレンダリングしようとしているデータが膨大な場合、読み込みに時間がかかることです。 私はサーバー側の処理と同様のデータテーブルを変更しようとしています(ただし、サーバーはありません。ローカルHTMLページです)。次にクリックすると、次のページデータのみが読み込まれます。そのときは、同じデータは読み込まれません。
言ってやるが、私は、次または前のボタンは、データテーブルでクリック、または検索されるたび
function loadData(start,end, searchString){
//Function to fetch records from a Table with start and end numbers of records.
//searchString is optional.
//rows= GetDataFromTable(start,end, searchString);
return rows;
}
はそう、私のjavascriptのメソッドがコールされるjavascriptで機能を持っており、それがDATATABLEを再作成する必要があります。何か案は?
非常に良い質問は、おそらくサーバー側の処理が、この場合に有用であり得る:https://datatables.net/examples/data_sources /server_side.html – jyrkim
一部のサーバー側コードなしでは動作しません。おそらく、クライアント側のデータをローカルストレージに格納することになります。したがって、巨大なデータが一度フェッチされると、それをフィルタリングして改ページすることができます。しかし、それは(ユーザにとって)涼しくないかもしれませんし、データが頻繁に変更されるならば、いくつかの同期の問題もあります。この方法は、固定データと、ローカルストレージに大量のデータが格納されていることを認識するユーザーグループがある場合にのみ、この方法をお勧めします。 – mainguy
多くの行が必要です。幾つ? – davidkonrad