Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Extjs 如何重命名列表类型的本地网格过滤器_Extjs_Filter_Grid - Fatal编程技术网

Extjs 如何重命名列表类型的本地网格过滤器

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:

在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.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']                            
                  }