对于我的远程排序,我在ExtJS 3中使用了关键字asDate,它是在请求的指示部分发送的:

sort:my_date
dir:asDate ASC


在ExtJS 4中,我错过了Request中的sortType信息:

sort:[{"property":"my_date","direction":"DESC"}]


有什么办法可以在服务器端获取sortType信息?

最佳答案

您可以覆盖encodeSorters函数。我给你一个例子:)

http://jsfiddle.net/Vandeplas/xLz5C/1/

var store = Ext.create('Ext.data.Store', {
     model: 'User',
     sorters: [{
         property: 'age',
         direction: 'DESC',
         sortType: 'asDate'
     }, {
         property: 'firstName',
         direction: 'ASC'
     }],
     proxy: {
         type: 'ajax',
         url: '/echo/json/',
         reader: {
             type: 'json',
             root: 'users'
         },
         encodeSorters: function (sorters) {
             var min = [],
                 length = sorters.length,
                 i = 0;

             for (; i < length; i++) {
                 min[i] = {
                     property: sorters[i].property,
                     direction: sorters[i].direction,
                     sortType: sorters[i].sortType
                 };
             }
             return this.applyEncoding(min);

         }
     }
 });

07-25 21:54