Slickgrid标题行过滤空单元格在示例中不起作用

时间:2018-02-12 14:10:49

标签: javascript datagrid slickgrid

我正在调查this example,并发现在搜索空单元格时不会发生过滤。这意味着我在过滤器框中键入了任何字符串,然后删除了字符串。但是,当在本地调试它并使一些单元格为空时,我看到dataview.refresh()在空输入时调用,网格不显示空单元格。

在我的应用程序中,我有一个用例,人们可能想要搜索所有没有内容的单元格,所以我的问题是,这是可以更改的东西,还是在Slickgrid引擎盖下深度烘焙?

我可以理解链接示例中的用例,因为它已经在页面加载时加载了过滤器,但在我的应用程序中,过滤器仅在单击确认按钮后应用。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

这一切都是完全可配置的。在您链接的示例中,

dataView.setFilter(filter);

设置过滤,并传递过滤函数

function filter(item) {
  for (var columnId in columnFilters) {
    if (columnId !== undefined && columnFilters[columnId] !== "") {
      var c = grid.getColumns()[grid.getColumnIndex(columnId)];
      if (item[c.field] != columnFilters[columnId]) {
        return false;
      }
    }
  }
  return true;
}

要进行您建议的更改,只需编辑columnFilters[columnId] !== ""位即可。您需要找出一些其他方式来判断是否应用过滤器,而不是空字符串。