【问题标题】:SlickGrid- Filter by multiple values in one column?SlickGrid-在一列中按多个值过滤?
【发布时间】:2015-12-13 03:27:03
【问题描述】:

我想在同一列中过滤多个值。在 slickgrid 中可能吗?我知道如何使用 setFilterArgs 处理一个值:

Filter Object:
colFilObj: {"StatusCode":"TestAll"}

var colFilObj= [];
colFilObj["StatusCode"] = "TestAll";
DataView.setFilterArgs(colFilObj);

可以修改对象以接受多个值并工作吗?

【问题讨论】:

    标签: javascript search filter slickgrid


    【解决方案1】:

    我使用字符串分隔符制作了这样的过滤器(您可以使用逗号 - 我使用了分号)。然后只需创建您的自定义过滤器并分配它: dataView.setFilter(myFilter);

    因此,例如,用户将输入 m;t,以查看在该列的项目值中具有 m 或 t 的所有项目

    MyFilter 方法:

       function myFilter(item) {
         for (var columnId in columnFilters) {
            if (columnId != undefined && columnFilters[columnId] !== "") {
                 var c = grid.getColumns()[grid.getColumnIndex(columnId)];
                 var multiFilters = columnFilters[columnId].split(";");
                 var valid=false;
                 for(var j=0; j<multiFilters.length; j++){
                     if (multiFilters[j] != undefined && multiFilters[j] != "" && item[c.field] != undefined){
                         if (("" +item[c.field]).toLowerCase().indexOf(multiFilters[j].toLowerCase()) != -1){  
                            valid = true;
                         }
                     }
                 }
                 if(!valid){
                     return false;
                 }
             }
         }
         return true;
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-07-31
      • 2018-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-09
      • 1970-01-01
      相关资源
      最近更新 更多