[英]Is there a way to enable/disable searching on a datatable by an specific event?
[英]How to disable searching in specific DataTable columns?
我正在成功使用此代码
function refreshDataTable() {
// The table is made sortable
$('#order_proposal_table').DataTable({
'destroy' : true, // see http://datatables.net/manual/tech-notes/3#destroy - 2nd example
'paging' : false,
'scrollCollapse' : true,
'scrollY' : '65vh',
'fixedHeader' : true,
'dom' : 'rt',
});
}
然后我尝试在 9 列中的 2 列中启用搜索。
所以我改变了
'dom' : 'rt',
进入
'dom' : 'frt',
显示查找输入框。 这有效,但它搜索每一列,但我只需要搜索 2 列。
所以我试图按照这个官方指南有选择地禁用过滤,并添加columns
定义
结果代码:
function refreshDataTable() {
// The table is made sortable
$('#order_proposal_table').DataTable({
'destroy' : true, // see http://datatables.net/manual/tech-notes/3#destroy - 2nd example
'paging' : false,
'scrollCollapse' : true,
'scrollY' : '65vh',
'fixedHeader' : true,
'dom' : 'frt',
'columns' : [ // see https://datatables.net/reference/option/columns.searchable
{ 'searchable': false },
{ 'searchable': false },
null, // product code
null, // description
{ 'searchable': false }
]
});
}
问题是我有一个来自数据表 javascript 的 javscript 错误
类型错误:col 未定义
删除columns
代码有效。
我究竟做错了什么?
我解决了使用columnsDef
选项。
以下代码禁用了对指定列的搜索。 正是我想要的。
'columnDefs' : [ // see https://datatables.net/reference/option/columns.searchable
{
'searchable' : false,
'targets' : [0,1,4,5,6,7,8,9]
},
]
您是否尝试过为其余 4 列传递 null 而不是仅指定前 5 列? 所以:
'columns': [
{ 'searchable': false },
{ 'searchable': false },
null,
null,
{ 'searchable': false },
null,
null,
null,
null
]
我会将此作为评论发布,但我无法包含该示例。
请记住,“搜索”的默认设置为 true,因此要打开对某些列的搜索并为其他列关闭它,您需要执行以下两个选项中的一个或另一个:
1) 保持默认设置,并关闭特定列的可搜索:
"columnDefs": [
{ "searchable": false, "targets": 0,3,5 }
]
或 2) 关闭默认值,然后针对特定列将其设置为一个
"searching": false,
"columnDefs": [{
"searchable": true, "targets": 1,2,4,6
}],
如果默认的 'searching' 仍然设置为 true,则对特定列使用 "searchabe": true 不会关闭未提及的列。
我使用bSearchable
false
从搜索中排除了第二列
lang-js
"aoColumns": [
null,
{ "bSearchable": false }
]
希望您发现此代码有帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.