有没有办法以编程方式从过滤的(服务器端)数据表记录集中提取所有记录 ID?
Is there a way to programatically extract all record IDs from a filtered (server-side) datatables recordset?
在服务器端模式下使用数据tables,使用 YADCL 进行过滤,有什么方法可以通过编程方式提取记录 ID(例如
第 0 列包含整个过滤记录集(不仅仅是显示的分页结果)的那些 ID,这样我就可以对该记录集执行操作。
示例:'customers' 数据库 table 包含 80k 条记录,我使用 YADCF 过滤将其缩小到 1k 客户的记录集,其中 20 个显示在网页上。我想在页面上有一个标记为 'Mark all filtered records' 的按钮,当单击该按钮时,会触发一个 ajax 脚本,该脚本将已过滤的 1,000 条记录上的 'mark' 字段从 0 更改为 1。
我可以独立于数据table处理记录标记,但我不知道如何以编程方式计算出哪些记录需要标记,即我需要提取某种形式的记录集标识,我然后可以使用我的 SQL UPDATE 操作作为目标。有人有什么想法吗?
我遇到了类似的问题,这是我所做的:
- 添加了一个隐藏的input-field
- 使用 Datatables 的 drawCallback-option 触发一个函数,该函数将所有活动(过滤的)记录的 ID 写入 input-field
- 关于服务器的回调,包括 input-field
的内容
棘手的细节是 drawCallback-function:
function (settings) {
dtObj = this.api();
var dtData = dtObj.column(0,{ search: 'applied', selected: true }).data().toArray();
$("#dtdata").val(JSON.stringify(dtData));
}
- 那个
column
调用的第一个参数是您感兴趣的列的索引(0 有我的索引)
- 第二个参数选择匹配 search/filter-criteria 的所有行。他们还与 yadcf-filtering!
合作
在服务器端模式下使用数据tables,使用 YADCL 进行过滤,有什么方法可以通过编程方式提取记录 ID(例如 第 0 列包含整个过滤记录集(不仅仅是显示的分页结果)的那些 ID,这样我就可以对该记录集执行操作。
示例:'customers' 数据库 table 包含 80k 条记录,我使用 YADCF 过滤将其缩小到 1k 客户的记录集,其中 20 个显示在网页上。我想在页面上有一个标记为 'Mark all filtered records' 的按钮,当单击该按钮时,会触发一个 ajax 脚本,该脚本将已过滤的 1,000 条记录上的 'mark' 字段从 0 更改为 1。
我可以独立于数据table处理记录标记,但我不知道如何以编程方式计算出哪些记录需要标记,即我需要提取某种形式的记录集标识,我然后可以使用我的 SQL UPDATE 操作作为目标。有人有什么想法吗?
我遇到了类似的问题,这是我所做的:
- 添加了一个隐藏的input-field
- 使用 Datatables 的 drawCallback-option 触发一个函数,该函数将所有活动(过滤的)记录的 ID 写入 input-field
- 关于服务器的回调,包括 input-field 的内容
棘手的细节是 drawCallback-function:
function (settings) {
dtObj = this.api();
var dtData = dtObj.column(0,{ search: 'applied', selected: true }).data().toArray();
$("#dtdata").val(JSON.stringify(dtData));
}
- 那个
column
调用的第一个参数是您感兴趣的列的索引(0 有我的索引) - 第二个参数选择匹配 search/filter-criteria 的所有行。他们还与 yadcf-filtering! 合作