Customizando a Classificação de Vários Campos de Registro com o Web UI Framework

Você pode customizar a classificação de colunas de tabela que utilizam dados que combinam diversos campos de um registro (por exemplo, utilizando um renderizador). É possível fazer isso com o Ext JS 2.2.1 e o Ext JS 3.0.2.

Execute essa classificação utilizando a função sortType na classe Ext.data.field. Ao invés de um item ser transmitido para sortType (valor de um campo), três itens serão transmitidos (valor de um campo, o registro e o campo que está sendo classificado). Esta funcionalidade é fornecida ao substituir o método sortData na classe Ext.data.Store para passar o registro e o campo além do valor do campo.

Quando os usuários não estão criando o armazenamento para uma grade, eles podem passar o sortType como uma opção de configuração na propriedade bindingData.sFieldConfig no columnModel ou em colunas de uma grade.

Por exemplo, uma grade pode possuir a configuração a seguir:

columns: [{
  dataIndex: 'airlines',
  bindingData: {
    sFieldConfig : {
      mapping : "airlines",
      sortType: this.sortTypeFn
    }
  }
}]

em que this.sortTypeFn é definido no arquivo JavaScript da tela como:

sortTypeFn: function(val, rec, fld){
              return val + rec.get('airlinenumber');    
              // computing the value based on value of field (airlines) and 
              // value of 'airlinenumber' field
          }”