与初始加载相比,刷新时接收的行数较少时,jQuery DataTables服务器端刷新问题

时间:2013-07-10 02:13:59

标签: jquery-datatables

我在DataTables 1.9.4上使用bSerSave和bServerside。我最初加载有1000行的表,然后我导航到最后一页,其行号为951到1000.然后在重新加载页面时,由于bStatesave,由于bStatesave,只有500行的不同查询,iDisplayStart值仍为950,因此表格中没有数据显示,数据表的信息部分显示 - “显示500个条目中的950到500个”

这是我的初始化代码。

var oTable = $('#sampleTable').dataTable({
"sScrollY":"500px",
"bProcessing":true,
"bServerSide":true,
"bStateSave":true,
"sDom":'Crtipl',
"sAjaxSource":"../test.htmlx",
"iDisplayLength":50,
"bPaginate":true,
"sPaginationType":"bootstrap",
"aoColumns": [
        {"mDataProp": "id"},
        {"mDataProp": function(source){
           return "<pre>"+source.description+"</pre>" 
        }},
        {"mDataProp": createdBy"} 
        ],
"fnRowCallback":function(nRow, aData, iDisplayIndex){
        $(nRow).on('click',$(nRow),function(){
        document.location.href="edit.htmlx"
        });
        }
 });

理想情况下,该表应位于显示451至500个条目的最后一页,或者从显示1至50个条目的第一页开始。 bStateSave必须为true才能在重新加载时保存列排序信息。 如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

DataTables中有API函数,其中 fnDisplayStart()http://datatables.net/plug-ins/api#fnDisplayStart)将解决此问题。 初始化后,我只需要拨打电话 oTable.fnDisplayStart(0),表格将指向第1页。