如何对jqgrid中的日期时间列进行排序

how to sort datetime column in jqgrid

我在 jqGrid 中的一个日期时间格式列采用以下格式:

2030 年 11 月 1 日,星期五 11:59pm。

如何在下面的 colModel 中实现默认升序排序?

      colModel: [
            { name: 'startDate', width: 30},            
        ]

谢谢。

您的演示使用 srcformat: "ISO8601Long",这意味着您使用的 "2030-11-01T23:59:00Z" 而不是 "1 November 2030, Fri 11:59pm" 的 inpuf 数据格式。

jqGrid 可以安全解析只包含数字的输入日期。解析包含 Fri 等文本的输入无效。我建议您更改输入数据的格式。只有当你真的不能改变输入数据的格式时,你才可以通过使用 sorttype defined as function

来解决问题
{
    name: 'startDate', width: 60,
    sorttype: function (cellValue) {
        return moment(cellValue, "D MMMM YYYY, ddd h:mm a").format();
    }
}

以上代码使用 momentjs 解析日期并将其替换为 ISO 8601 日期格式。 jqGrid 将在排序期间使用 ISO 日期而不是原始日期。