在extjs中应用数字过滤器不起作用
我正在尝试使用extjs中的过滤器功能将数字过滤器应用于网格中的数字列。为此,我使用存储在网格中的filterdata在过滤器上设置一个值在extjs中应用数字过滤器不起作用,extjs,extjs4.2,Extjs,Extjs4.2,我正在尝试使用extjs中的过滤器功能将数字过滤器应用于网格中的数字列。为此,我使用存储在网格中的filterdata在过滤器上设置一个值 var filterData = tablePanel.filters.getFilterData(); Ext.Array.each(filterData, function (filter) { try { var aFilter = tablePanel.filters.filters.getByKey(filter.fiel
var filterData = tablePanel.filters.getFilterData();
Ext.Array.each(filterData, function (filter) {
try {
var aFilter = tablePanel.filters.filters.getByKey(filter.field)
aFilter.setValue(filter.data.value)
}
catch (err) {
Util.logError('err ' + err)
}
})
该构造看起来有点奇怪,但它是解决此错误的黑客:
如果我的筛选器只是普通的旧字符串筛选器,则此操作非常有效,但当我有一个数字筛选器时,它会抛出一个异常,并显示以下消息:
消息:“无法使用'in'运算符在19938中搜索'lt'”堆栈:
(……)
此行上会引发错误:
aFilter.setValue(filter.data.value)
但所讨论的对象看起来还可以:
a过滤器
过滤器
为什么我不能应用数字过滤器?来过滤数值。您必须提供比较运算符 (lt、gt、eq) e、 g到等于3的过滤器id
var f = insidegrid.filters.getFilter('id');
f.setValue({eq:3D});
f.setActive;