Extjs 如何重命名列表类型的本地网格过滤器
在Col1列的“MyGrid”中,我将来自store True或False的值更改为Yes(表示True)和No(表示False)。如果我没有在filter下指定任何选项,则filter列表将显示为True、False。我想用Yes(表示真)和No(表示假)进行局部过滤。我怎样才能做到这一点Extjs 如何重命名列表类型的本地网格过滤器,extjs,filter,grid,Extjs,Filter,Grid,在Col1列的“MyGrid”中,我将来自store True或False的值更改为Yes(表示True)和No(表示False)。如果我没有在filter下指定任何选项,则filter列表将显示为True、False。我想用Yes(表示真)和No(表示假)进行局部过滤。我怎样才能做到这一点 Ext.define('TestGrid', { requires: [ 'Ext.ux.grid.FiltersFeature' ], extend:
Ext.define('TestGrid', {
requires: [
'Ext.ux.grid.FiltersFeature'
],
extend: 'Ext.grid.Panel',
initComponent: function() {
var myStore = Ext.create('MyStore');
this.columns = [
{
text: 'Col1',
dataIndex: 'Col1',
sortable: true,
draggable: false,
renderer: function(value, metaData, record, rowIndex, colIndex, store) {
//changing from true/false to yes/no
if (value) {
return 'Yes';
} else {
return 'No;
}
}
}
];
this.features = [
{
ftype: 'filters',
local: true,
encode: false,
filters: [
{
type: 'list',
dataIndex: 'Col1',
options: ['Yes', 'No'],
phpMode: true
}
]
}
];
this.callParent(arguments);
}
});
有办法了
validateRecord: function(record) {
var valArray = this.getValue(), rec = record.get(this.dataIndex), i, re, retval = false, changedValues = [];
//for each values in valArray add appropriate value in changedVal //for Yes -> True and No -> False
for(i in changedValues) {
re = new RegExp(changedValues[i], 'gi');
if(re.test(rec)) {
retval = true;
}
}
return retval;
}
更简单(奇怪为什么我以前没试过)
{
type: 'list',
dataIndex: 'Col1',
options: [
[true,'Yes'],
[false, 'No']
}