2012-11-30 68 views
0

我一直在网络上浏览数小时左右DataTables的保存滚动位置,但没有任何运气。至少不适合我的情况。DataTables保存状态滚动位置

根据数据表,保存滚动条,我需要这行代码的状态:

$(document).ready(function() { 
    var oTable = $('#example').dataTable({ 
     "sScrollY": "200px", 
     "sAjaxSource": "media/data/2500.txt", 
     "sDom": "frtiS", 
     "bDeferRender": true, 
     "bStateSave": true 
    }); 
}); 

但是因为我没有用,我可以分析它不工作的数据的任何文本文件。我使用PHP和MYSQL获取表中的数组。
"bStateSave": true确实保存了每个用户输入,例如过滤和排序,滚动条除外。

有谁知道如何解决这个问题?

编辑 好吧,我设法让这个工作。看来我有些事情是真的,不应该这样。现在,这个"sDom"滚动作品的saveState和,但我的GUI不见了......

编辑 我开始的代码是:

<!-- DATATABLES ENABLE INIT --> 
<script> 
<?php include ('js/datatables/ordernumhtml.js');?> 
<?php include ('js/datatables/ordercurrency.js');?> 
<?php include ('js/datatables/dataTables.scroller.min.js');?> 
    $(document).ready(function() { 
     $('#table1').dataTable({ 
     "sDom": "frtiS", 
     "bDeferRender": false, 
     "bStateSave": true, 
     "bAutoWidth": true, 
     "bInfo": true, 
     "sScrollX": "100%", 
     "bScrollCollapse": true, 
     "bScrollAutoCss": true, 
     "bScrollInfinite": false, 
     "sScrollY": "350px", 
     "bJQueryUI": true, 
     "bProcessing": true, 
     "aoColumns": [ 
      { "sType": "num-html" }, 
      { "sType": "numeric" }, 
      null, 
      null, 
      null, 
      null, 
      null, 
      null, 
      { "sType": "currency" }, 
      null, 
      { "bSortable": false } 
     ]   
     }); 
    }); 
</script> 

回答

1

,将溶液重写行:
"sDom": "frtiS",到:
"sDom": '<"H"fr>t<"F"iS>',

"H""F"表示头和第页脚e jQueryUI。

的sDOM用法的详细描述可以在这里找到:

http://datatables.net/usage/options#sDom

0

保存滚动状态的解决方案是设置stateSave。为了使这项工作还需要使用dataTables.scroller.js

$(document).ready(function() { 
$('#example').DataTable({ 
    ajax:   "data/2500.txt", 
    deferRender: true, 
    dom:   "frtiS", 
    scrollY:  200, 
    scrollCollapse: true, 
    stateSave:  true 
}); 

});

选中此项:Scroller State Saving