数据表服务器端记住复选框“选中”

Posted

技术标签:

【中文标题】数据表服务器端记住复选框“选中”【英文标题】:Datatable server-side remember checkbox "selected" 【发布时间】:2016-11-28 08:13:41 【问题描述】:

我在模式(弹出)中有数据表服务器端,可以通过项目行中的选择复选框来选择项目。

但是当我更改页面、排序和搜索其他项目时,我在复选框中选择的项目总是重置或重新加载。

数据表服务器端是否可以记住我选中的复选框?如果可以,如何在我的情况下实施它?

【问题讨论】:

尝试将 'stateSave': true 添加到您的数据表并重新加载 table.DataTable().ajax.reload(null, false); 干草@rad1,感谢您的建议。它不起作用,表仍在重新加载,还有更多建议吗?真的很迷茫。 在您的问题中添加代码 【参考方案1】:

虽然它没有记录,但据我所知stateSave 选项仅适用于客户端处理模式。

请参阅jQuery DataTables Checkboxes 扩展,它提供了在客户端和服务器端处理模式下处理表格中的复选框的通用解决方案。

例如:

var table = $('#example').DataTable(
   'processing': true,
   'serverSide': true,
   'ajax': '/your/script',
   'columnDefs': [
      
        'targets': 0,
        'checkboxes': true
      
   ],
   'order': [[1, 'asc']]
);

或者,如果您想在没有插件的情况下自行实现,请参阅jQuery DataTables: Row selection using checkboxes 文章。

【讨论】:

我尝试了使用gyrocode.com/projects/jquery-datatables-checkboxes/examples/… 进行服务器端处理的复选框,但每当我选中任何复选框时,“全选”复选框被标记为选中或勾选导致移动到另一个页面显示所有选中的记录。 @Gyrocode.com 你有一些服务器端解决方案的例子吗?谢谢 @culter,不确定您的意思?你有一个例子吗?如果您在 SO 上发布了问题,请分享链接。 嗨,Gyrocode,您的示例在每一行前面都有复选框,我需要使用复选框过滤表中的数据。例如。当您单击其中一个复选框时,仅显示列 3 中状态为 1 的行,依此类推。但几天前,我能够让它工作。无论如何,谢谢您的回复。

以上是关于数据表服务器端记住复选框“选中”的主要内容,如果未能解决你的问题,请参考以下文章

如何“使用具有一些默认选择的多复选框过滤器在服务器端过滤 Kendo Grid 数据”

如何使用引导多选插件根据服务器端数据获取和设置多个复选框值

用户提交弹出窗体时发送多个ajax调用

Dojox.grid.DataGrid 过滤

回发时的 ASP.Net 复选框值错误?

怎么响应TreeView中的OnTreeNodeCheckChanged事件