数据表分页和服务器端处理

Posted

技术标签:

【中文标题】数据表分页和服务器端处理【英文标题】:Datatables pagination and server-side processing 【发布时间】:2012-02-16 23:43:47 【问题描述】:

我遵循了这些指示:http://datatables.net/release-datatables/examples/server_side/server_side.html 但我没有得到分页(在 bJQuery 模式和经典模式下也没有)。一切正常(搜索、排序……),但我无法获得分页。

我有什么遗漏吗?

代码如下:

$(document).ready(function() 
    $('#datatable').dataTable( 
                bJQueryUI : true,
        "bProcessing": true,
        "bServerSide": true,
                sPaginationType: "full_numbers",
        "sAjaxSource": "/returnjson"
     );
 );

谢谢!

编辑: 我将参数用引号括起来。谢谢。 dgw,这并没有改变什么。我想要的是分页按钮与我的服务器端代码交互:

/* 
* Paging
*/
$sLimit = " LIMIT 100";
if ( isset( $_GET['iDisplayStart'] ) && $_GET['iDisplayLength'] != '-1' )

    $sLimit = " LIMIT ".mysql_real_escape_string( $_GET['iDisplayStart'] ).", ".
        mysql_real_escape_string( $_GET['iDisplayLength'] );

感谢您的帮助

编辑 2: 我尝试使用 datatables/demo_table.css 和 datatables/demo_table_jui.css 但这没有任何改变。

再次感谢!

【问题讨论】:

确保将参数名称用引号引起来。 "bJQueryUI""sPaginationType" 【参考方案1】:

我的 iTotalDisplayRecords 设置不正确(过滤后的总记录)。 来源:http://datatables.net/usage/server-side

【讨论】:

对于下一个在这里找到它们的人:iTotalDisplayRecords 是数据库中的记录总数(不是要在每个页面上显示的总数)......在任何过滤器之后。 @YarsRevenge13 - 我有时觉得自己像印第安纳琼斯,为像你这样的文件而探索。这就像对其他人的警告......【参考方案2】:

举例说明

"sDom": '<"top"i>rt<"bottom"flp><"clear">'

在您致电dataTable 时。这应该显示分页。

更多信息请查看parameter reference of datatables,尤其是关于sDom的部分。

【讨论】:

以上是关于数据表分页和服务器端处理的主要内容,如果未能解决你的问题,请参考以下文章

Jquery 插件,如 dataable,但根据需要具有 ajax 分页和服务器端搜索

Jquery插件类似于datable,但根据需要具有ajax分页和服务器端搜索

用于角度数据表的春季服务器端处理

ExtJs - 基于远程数据的分页和缓冲网格,没有远程分页和过滤

具有服务器端分页/排序的 DevExtreme 数据网格不适用于过滤

jQuery Datatable:分页和过滤器无法正确显示