【问题标题】:extjs sortable does not sort on case and datesextjs sortable 不按大小写和日期排序
【发布时间】:2012-07-18 06:26:15
【问题描述】:

我有一个 extjs 网格,它有一个电子邮件字段,其中包含以大写和小写开头的电子邮件。此字段未按应有的方式排序。

另外,我有一个格式为 2012 年 6 月 14 日上午 11:00 的日期字段。

我不确定如何对日期列进行升序/降序排序。

我的意思是网格对数据进行了排序,但没有正确排序

这是我的代码:

var init_groupView = function() {
    userStore = new Ext.data.Store({
        url: 'scripts/users_getAllUsers.cgi',
        reader: new Ext.data.JsonReader({
            root: 'users',
            totalProperty: 'usersCount',
            id: 'user_id',
                 fields: [ 'fullname','email','login_time']
        })
});

这是我的列的排序方式。

columns: [
            {header: "Full Name", width: 150, height:16, sortable: true, dataIndex: 'fullname'},
            {header: "E-Mail", width: 200, height:16, sortable: true, dataIndex: 'email'},
            {header: "Last Login", width: 150, height:16, sortable: true, dataIndex: 'login_time'}

]

【问题讨论】:

  • 您的代码中有错字(缺少 JsonReader 的“全名”属性的开头引号),这是无意的吗?还缺少init_groupView 函数上的关闭}
  • 对不起。我不想显示很多数据。所以编辑了我的代码并复制粘贴它。代码工作正常。唯一的问题是对电子邮件和日期的网格进行排序,我觉得我可能需要添加更多内容
  • 我认为会有一些方法来定义列定义上的“类型”,给网格一个关于如何解释数据的提示。否则,在将数据转换为字符串后,它可能会按字母顺序对它们进行排序。

标签: javascript extjs2


【解决方案1】:

您需要在字段上设置类型,以便它知道如何对值进行排序:

http://docs.sencha.com/ext-js/2-3/#!/api/Ext.data.Field-cfg-type

您可能还需要设置 dateFormat 配置。

【讨论】:

    猜你喜欢
    • 2011-07-25
    • 2014-11-12
    • 1970-01-01
    • 2023-03-16
    • 1970-01-01
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多