在对日期extjs 3.4进行本地排序时,不考虑AM PM

时间:2013-12-20 09:44:56

标签: javascript sorting datetime extjs

我在为网格进行本地排序时遇到问题,

此处日期按小时和分钟排序,但不考虑AM / PM部分

最有可能是它的字符串排序而不是日期排序..如何使它可以排序日期..

它应该按降序排列(最新的,最后的最后一个),如:

19-Dec-2013 10:43:54 PM(UTC +5:30)

2013年12月19日下午3:43:54(UTC +5:30)

2013年12月19日上午7:03:28(UTC +5:30)

但它按此顺序出现

19-Dec-2013 10:43:54 PM(UTC +5:30)

2013年12月19日上午7:03:28(UTC +5:30)

2013年12月19日下午3:43:54(UTC +5:30)

我这样做:

fields:{ name:'PD', mapping:'@PD', dateFormat: 'c', type: 'date'},

sortInfo: { field: 'PD', direction: 'DESC' }, remoteSort: false,

sortable:此列为true。

可能是什么错误或者我错过了什么..?

1 个答案:

答案 0 :(得分:0)

您可以通过设置sortType配置选项来设置商店中字段的排序类型。使用您的示例:

fields: {
    name: 'PD',
    mapping: '@PD',
    dateFormat: 'c',
    type: 'date',
    sortType: 'asDate'
},

我没有使用asDate排序类型,但希望这对您有用。您可以在http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.data.SortTypes找到预定义排序类型的列表。

您还可以将sortType配置设置为等于函数,以定义自定义排序类型。以下是http://docs.sencha.com/extjs/3.4.0/#!/api/Ext.data.Field文档中的示例:

sortType: function(value) {
    switch (value.toLowerCase()) // native toLowerCase():
    {
        case 'first': return 1;
        case 'second': return 2;
        default: return 3;
   }
}