在初始化时筛选数据表:筛选具有空列的行



我使用Datatable,并希望过滤(不显示)空列的行我有一个tsimple表2行:

  • 第一行:第四列为空->这一行必须被过滤(隐藏)
  • 第二列:第四列包含链接->这一行必须显示

我尝试使用aoSearchCols选项使用正则表达式,但2行被过滤我不明白什么是做bEscapeRegex但不影响结果,如果我设置为真,甚至如果我删除

我已经测试了我的正则表达式,它似乎工作

此外,阅读不同的论坛和Datatable文档有时是searchcol,有时是aosearchCol

"aoSearchCols": [ // filtre sur les lignes pour lesquelles la collone 'Actions' dispose d'un lien
null,
null,
null,
{ "sSearch": "^[A-Z]", "bEscapeRegex": false }
]

以下searchCols选项应该可以工作:

$('#example').DataTable( {
"searchCols": [
null,
null,
null,
{
"regex": true,
"search": ".+"
}
]
} );

假设表中有4列。

.+正则表达式确保第四列必须包含一些文本(一个或多个字符)。

(使用这种方法意味着用户无法取消隐藏那些最初隐藏的列。)


我注意到您正在使用旧式匈牙利符号名称作为您的选项-例如,aoSearchCols而不是searchCols。如果您正在使用DataTables 1.10+,我建议您更新为较新的驼峰大小写名称(就像我在这里使用的那样)。

同样,我无法在旧名字列表中找到bEscapeRegex。如果该名称不存在,那么在您的示例中,这可能也会导致问题。

更新:

我在这里找到了关于bEscapeRegex的参考:

bEscapeRegex现在已经被bRegex取代,基本上具有相同的含义,但是布尔NOTbEscapeRegex。当bRegex为真时,过滤字符串被DataTables作为正则表达式处理,当它为假时,字符串被按字面意思处理,而不是作为模式处理。bEscapeRegex的任何实例都必须更新. 这样做是为了提供一个更容易接近的过滤API,作为更广泛的整理的一部分。

此注释是升级到1.7版本的一部分(非常旧!)。

最新更新