0

我在 DataTables 1.9.4 上使用 bStateSave 和 bServerside。我最初加载具有 1000 行的表,然后导航到行号为 951 到 1000 的最后一页。然后在使用只有 500 行的不同查询重新加载页面时,由于 bStatesave,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 才能在重新加载时保存列排序信息。如何解决这个问题呢 ?

谢谢。

4

1 回答 1

0

DataTables 中有 API 函数,其中fnDisplayStart() ( http://datatables.net/plug-ins/api#fnDisplayStart ) 将解决这个问题。初始化后,我只需调用 oTable.fnDisplayStart(0) ,表格将指向第一页。

于 2013-07-12T00:58:12.720 回答