【问题标题】:slickgrid filtering show wrong rowsslickgrid 过滤显示错误的行
【发布时间】:2013-12-11 04:08:03
【问题描述】:

基本上它与给定http://mleibman.github.io/SlickGrid/examples/example-header-row.html的示例几乎相同 仅我所做的更改:

拳头是过滤器只应用了几列

    if(args.column.id == 'name' || args.column.id == 'contract'){
        var s = $("<input type='text'>");
        s.data('columndata', args.column.id)
        .val(columnFilters[args.column.id])
        .appendTo(args.node);
    };

第二个区别是在构造中没有将数据插入DataView。我有 ajax 调用,它以 json 格式加载数据,然后使用 dataView.setItems 将数据数组注入 DataView。

我进行的第三次更改,我的过滤器检查行、列中的值是否不完全匹配。

function filter(item){
for(var columnId in columnFilters){
    if(columnId != undefined && columnFilters[columnId] != ''){
    var c = obj.grid.getColumns()[obj.grid.getColumnIndex(columnId)];
    var value1 = item[c.field].toUpperCase();
    var value2 = columnFilters[columnId].toUpperCase();
    if(value1.indexOf(value2)==-1){
        return false;
    };
    };
};
return true;
};

通常过滤器正在工作。它甚至可以正确过滤。如果有 2 个项目(行)包含说“草本”,则过滤器将找到 2 行。

但是因为它找到了 2 行,所以它会显示 2 个第一行。

它是这样工作的。如果过滤器找到 N 个正确值,它将显示前 N 行。

我确实尝试过调试数据视图,但它仅使用行数而不是匹配参数的行数进行操作

【问题讨论】:

    标签: javascript slickgrid


    【解决方案1】:

    找到问题的位置。我确实错误地覆盖了返回错误项目的方法 getItem(),因为我将行号传递给它

    【讨论】:

      猜你喜欢
      • 2013-11-04
      • 1970-01-01
      • 2014-11-01
      • 2011-09-24
      • 1970-01-01
      • 2012-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多