Extjs按字母数字字段排序存储

Gal*_*len 4 javascript extjs extjs4

我有一堆名称类似于"Itemtype#"的记录,当它们被输出到树视图中时,它们的排序不正确,如下所示:

  • 第1项
  • 项目10
  • 项目11
  • 项目12
  • 项目13
  • 第2项
  • 第3项
  • 第4项

我的模型字段定义如下,我在"名称"上排序:

fields: [
  { name: 'Id', defaultValue: 0, type: 'int', mapping: 'Id' },
  { name: 'Name', defaultValue: '', type: 'string', mapping: 'Name', sortType: Ext.data.SortTypes.asUCString },
  { name: 'Type', defaultValue: 0, type: 'int', mapping: 'Type' },
  { name: 'CreationDate', type: 'date', mapping: 'CreationDate' }
],
Run Code Online (Sandbox Code Playgroud)

任何人都能指出我正确的方向吗?我正在使用extjs 4.0.5

Adi*_*idi 16

在商店中,您必须设置分拣机属性显示数据的方式:

var store = Ext.create('Ext.data.JsonStore', {
  .
  .
  .
  remoteSort: false, //true for server sorting
  sorters: [{
     property: 'Name',
     direction: 'DESC' // or 'ASC'
   }],
  .
  .
  .

})
Run Code Online (Sandbox Code Playgroud)