yadcf 接口更改为 exFilterColumn 混乱
yadcf interface change to exFilterColumn confusion
我正在将我网站上的 yadcf 版本从 0.6.9 升级到 0.8.8。 (我也在从 datatables 1.9.4 升级到 1.10.10)
在 my production site and the 0.8.8 version at my sandbox site
查看 0.6.9 版本
我已将对 yadcf.exFilterColumn
的调用从两次调用更新为一次调用,因为现在默认值采用一对数组。
但是当页面加载时,我过滤的数据集是空的,我需要 select 一个性别然后点击全部以显示所有数据。
我确定我对新界面不是很满意。
更新: 简化的沙盒版本 here。请参阅文件 TestStandings.js
更新 2: Daniel 指出“-1”用于性别筛选器不起作用。显然,出于某种原因,usegender = "-1" 在 0.8.8 中的行为方式与在 0.6.9 中的行为方式不同。我可以试着弄清楚为什么它曾经有效,但这似乎没有效果。
我在 exFilterColumn 调用后添加了以下代码(在某些用例中需要过滤性别)
// reset gender column if didn't mean to filter
if (usegender == "-1") {
yadcf.exResetFilters( _rrwebapp_table, [genderCol] )
}
但这在 jquery.dataTable.yadcf.js 的第 3624 行出现异常,因为 settingsDt.aanFeatures.f
未定义
更新 3: 在数据 tables 端调试时,我将 sDom 从 '<"H"Clpr>t' 更改为默认 'lfrtip'。上面提到的异常消失了,table 正确加载。
这是您应该如何处理您的情况
要求过滤 -1
值是错误的,因为 table 中没有这样的值,因此为了在调用 exFilterColumn
之前重置特定列,您应该使用 exResetFilters with noRedraw set to true(从 0.8.9.beta.31 中获取)你应该在 之前调用此函数 你的 exFilterColumn
旧答案
我可能已经注意到为同一个 table 多次调用 exFilterColumn
,而实际上您应该只调用一次,只需为 [=57] 的每一列设置所需的值=],
See showcase page (first table)
并注意下面的相关代码
yadcf.exFilterColumn(firstTable, [
[1, {
from: 1,
to: 40
}],
[3, "a_value"]
]);
如果还是不行,请提供您的 table / yadcf 初始化代码和调用 exFilterColumn
的代码
更新:
我注意到您正在使用以下代码行
yadcf.exFilterColumn(_rrwebapp_table, [[divisionCol, usedivision], [genderCol, usegender]])
你的 usegender
设置为 "-1"
这没有意义,因为它是 Select 输入重置选项的值 ,所以请确保您在 exFilterColumn
调用中不使用 "-1"
作为值...
我正在将我网站上的 yadcf 版本从 0.6.9 升级到 0.8.8。 (我也在从 datatables 1.9.4 升级到 1.10.10)
在 my production site and the 0.8.8 version at my sandbox site
查看 0.6.9 版本我已将对 yadcf.exFilterColumn
的调用从两次调用更新为一次调用,因为现在默认值采用一对数组。
但是当页面加载时,我过滤的数据集是空的,我需要 select 一个性别然后点击全部以显示所有数据。
我确定我对新界面不是很满意。
更新: 简化的沙盒版本 here。请参阅文件 TestStandings.js
更新 2: Daniel 指出“-1”用于性别筛选器不起作用。显然,出于某种原因,usegender = "-1" 在 0.8.8 中的行为方式与在 0.6.9 中的行为方式不同。我可以试着弄清楚为什么它曾经有效,但这似乎没有效果。
我在 exFilterColumn 调用后添加了以下代码(在某些用例中需要过滤性别)
// reset gender column if didn't mean to filter
if (usegender == "-1") {
yadcf.exResetFilters( _rrwebapp_table, [genderCol] )
}
但这在 jquery.dataTable.yadcf.js 的第 3624 行出现异常,因为 settingsDt.aanFeatures.f
未定义
更新 3: 在数据 tables 端调试时,我将 sDom 从 '<"H"Clpr>t' 更改为默认 'lfrtip'。上面提到的异常消失了,table 正确加载。
这是您应该如何处理您的情况
要求过滤 -1
值是错误的,因为 table 中没有这样的值,因此为了在调用 exFilterColumn
之前重置特定列,您应该使用 exResetFilters with noRedraw set to true(从 0.8.9.beta.31 中获取)你应该在 之前调用此函数 你的 exFilterColumn
旧答案
我可能已经注意到为同一个 table 多次调用 exFilterColumn
,而实际上您应该只调用一次,只需为 [=57] 的每一列设置所需的值=],
See showcase page (first table)
并注意下面的相关代码
yadcf.exFilterColumn(firstTable, [
[1, {
from: 1,
to: 40
}],
[3, "a_value"]
]);
如果还是不行,请提供您的 table / yadcf 初始化代码和调用 exFilterColumn
更新:
我注意到您正在使用以下代码行
yadcf.exFilterColumn(_rrwebapp_table, [[divisionCol, usedivision], [genderCol, usegender]])
你的 usegender
设置为 "-1"
这没有意义,因为它是 Select 输入重置选项的值 ,所以请确保您在 exFilterColumn
调用中不使用 "-1"
作为值...