我使用数据表并想过滤(不显示)带有空列的行 我有一个 tsimple 表,有 2 行:
我尝试使用正则表达式使用 aoSearchCols 选项,但过滤了 2 行 我不明白 bEscapeRegex 在做什么,但如果我设置为 true 或者即使我删除了也不会影响结果
我已经测试了我的正则表达式,它似乎有效
此外,阅读不同的论坛和数据表文档有时是 searchCols 有时是 aosearchCol
"aoSearchCols": [ // filtre sur les lignes pour lesquelles la collone 'Actions' dispose d'un lien
null,
null,
null,
{ "sSearch": "^[A-Z]", "bEscapeRegex": false }
]
答案 0 :(得分:0)
以下 searchCols
选项应该有效:
$('#example').DataTable( {
"searchCols": [
null,
null,
null,
{
"regex": true,
"search": ".+"
}
]
} );
这假设您的表中正好有 4 列。
.+
正则表达式确保第四列必须包含一些文本(一个或多个字符)。
(使用这种方法意味着用户无法取消隐藏那些最初隐藏的列。我认为没问题。)
我注意到您在选项中使用了旧式的匈牙利符号名称 - 例如,aoSearchCols
而不是 searchCols
。如果您使用的是 DataTables 1.10+,我建议您更新为较新的驼峰式名称(正如我在此处使用的那样)。
此外,我无法在 list of old names 中找到 bEscapeRegex
。如果该名称不存在,那么在您的示例中,这可能也会给您带来问题。
更新:
我找到了关于 bEscapeRegex
的参考 here:
bEscapeRegex
现在已被 bRegex
取代,其含义基本相同,但它是 bEscapeRegex
的 boolean NOT。当 bRegex
为 true 时,过滤字符串被 DataTables 视为正则表达式,当它为 false 时,字符串被视为字面意思,而不是模式。 bEscapeRegex
的任何实例都必须更新。这样做是为了提供更易于使用的过滤 API,作为更广泛整理的一部分。
此注释是升级到 1.7 版(非常旧!)的一部分。