我正在调查this example,并发现在搜索空单元格时不会发生过滤。这意味着我在过滤器框中键入了任何字符串,然后删除了字符串。但是,当在本地调试它并使一些单元格为空时,我看到dataview.refresh()
在空输入时调用,网格不显示空单元格。
在我的应用程序中,我有一个用例,人们可能想要搜索所有没有内容的单元格,所以我的问题是,这是可以更改的东西,还是在Slickgrid引擎盖下深度烘焙?
我可以理解链接示例中的用例,因为它已经在页面加载时加载了过滤器,但在我的应用程序中,过滤器仅在单击确认按钮后应用。
感谢您的帮助。
答案 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] !== ""
位即可。您需要找出一些其他方式来判断是否应用过滤器,而不是空字符串。