【问题标题】:keep pagination state on fnDraw()在 fnDraw() 上保持分页状态
【发布时间】:2012-05-15 05:12:10
【问题描述】:

我在我的应用程序中使用jquery 数据表。我的pagination 有问题,当我使用this.table.dataTable().fnDraw() 时它正在重置。

在更新表时,我的数据表每 5 秒调用一次 fnDraw()。当this.table.dataTable().fnDraw() 被调用时,会显示第一页,即使用户在第 2 页或其他页面上。

有没有办法在this.table.dataTable().fnDraw() 之后保持分页状态。

【问题讨论】:

    标签: jquery datatables


    【解决方案1】:

    http://datatables.net/reffnDraw 的解释说:

    Parameter:  fnDraw
    Type:       function
    Inputs:     {bool} [default=true]: Re-filter and resort 
                (if enabled) the table before the draw.
    

    所以,刚刚尝试了this.table.dataTable().fnDraw(false),它成功了。保持在同一页面上,排序也保持不变。

    【讨论】:

    • 我尝试了您的解决方案,并且能够获取我在 fnDraw 之前所在的页面,但是有一个问题是没有显示数据(即表格中缺少几行)。
    • 如何检索表格的内容?全部在页面加载时,还是通过服务器端处理获取它们?
    • 好吧,如果没有您的代码示例,将无济于事。您可以尝试使用 firebug 调试代码。只需使用完整的 DataTable.js(不是 min)并在函数中设置一些断点。
    • 太棒了!像魅力一样工作。
    • @Mohd Abdul Mujib 我很高兴能为您提供帮助。
    【解决方案2】:

    看看这个插件,它可以满足你的需求:http://datatables.net/plug-ins/api#fnStandingRedraw

    【讨论】:

    • 完美!解决了我的问题 - fnDraw(false)(在另一个答案中)有问题,因为你失去了过滤器状态。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    相关资源
    最近更新 更多