yadcf界面更改为exFilterColumn混淆

时间:2015-12-10 22:39:51

标签: yadcf

我正在将我网站上的yadcf版本从0.6.9升级到0.8.8。 (我也是从数据表1.9.4升级到1.10.10)

请参阅my production site处的0.6.9版本和my sandbox site

处的0.8.8版本

我已将两次调用yadcf.exFilterColumn的调用更新为单次调用,因为现在默认值为一对数组。

但是我的过滤数据集在页面加载时为空,我需要选择一个性别,然后单击全部以显示所有数据。

我确信这是我不太适合新界面。

更新:简化的沙盒版本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:,我将sDom从'<“H”Clpr> t'更改为默认的'lfrtip'。上面提到的例外情况消失了,表格也正确加载了。

1 个答案:

答案 0 :(得分:1)

以下是处理场景的方法

要求过滤-1值是错误的,因为表中没有这样的值,所以为了在调用exFilterColumn之前重置特定列,你应该使用{{3 (从 0.8.9.beta.31 获取)你应该在之前调用此函数 exFilterColumn

旧答案

我可能已经注意到对同一个表的exFilterColumn多次调用,而实际上你应该只调用一次,只需为表的每一列设置所需的值,

exResetFilters with noRedraw set to true

请注意下面的相关代码

yadcf.exFilterColumn(firstTable, [
    [1, {
        from: 1,
        to: 40
    }],
    [3, "a_value"]
]);

如果仍然没有好处,请提供您的table / yadcf初始化代码和调用exFilterColumn

的代码

更新

我注意到您正在使用以下代码行

yadcf.exFilterColumn(_rrwebapp_table, [[divisionCol, usedivision], [genderCol, usegender]])

您的usegender设置为"-1"这是没有意义的,因为它是选择输入重置选项的值,所以请确保您不使用{{1 } {} "-1"调用中的值...