我不明白:(
以前工作正常。我的ExtJS Grid中的所有列都有过滤器。现在它只是抛出一个错误。我第一次点击标题箭头时得到以下堆栈:
Uncaught TypeError: object is not a function FiltersFeature.js?_dc=1403012616973:285
Ext.define.initializeFilters FiltersFeature.js?_dc=1403012616973:285
Ext.define.createFilters FiltersFeature.js?_dc=1403012616973:265
Ext.define.onMenuCreate FiltersFeature.js?_dc=1403012616973:300
fire ext-all-debug.js:9815
continueFireEvent ext-all-debug.js:11207
fireEventArgs ext-all-debug.js:11185
prototype.fireEventArgs ext-all-debug.js:41542
fireEvent ext-all-debug.js:11171
Ext.define.getMenu ext-all-debug.js:109192
Ext.define.showMenuBy ext-all-debug.js:109115
Ext.define.onHeaderTriggerClick ext-all-debug.js:109110
Ext.define.onTitleElClick ext-all-debug.js:109894
(anonymous function) VM2875:6
wrap
我在这样的方法中定义我的列:
var createColumns = function () {
var columns = [{
dataIndex: 'id',
text: 'ID',
renderer: function(val) {
return '<b>' + val+ '</b>';
},
width: 80
,
filter: {
type: 'int'
}
}, {
dataIndex: 'releaseId',
text: 'Release',
filter: {
type: 'number'
}
}, {
dataIndex: 'requires',
text: 'Requires ',
filter: {
type: 'string'
}
}, {
dataIndex: 'creation',
text: 'Status Changed?',
filter: {
type: 'date'
}
}, {
dataIndex: 'creator',
text: 'Creator',
filter: {
type: 'string'
}
}];
return columns;
};
不确定为什么现在突然发生这个错误。
答案 0 :(得分:1)
尝试这种方式:
initComponent : function() {
var filters = {
ftype : 'filters',
encode : false, // json encode the filter query
local : true,
autoReload : false
};
var numberFilters = {
minValue: 0
}
............
columns : [ {
text : 'Id'
filter: {
type: 'numeric',
fields: {
eq: numberFilters
}
},
}
....
]
答案 1 :(得分:0)
好的,我知道问题所在。我正在使用类型&#39;数字&#39;在我的过滤器配置中,我应该使用numeric或int。
dataIndex: 'releaseId',
text: 'Release',
filter: {
type: 'number'
}
相反它应该是
dataIndex: 'releaseId',
text: 'Release',
filter: {
type: 'int'
}
现在我不再解决问题了。这只是一个错字。