【发布时间】:2015-09-24 16:24:58
【问题描述】:
我的服务器以 string 格式向 javascript 发送日期
"csd":"08-SEP-2015"
我想按日期对这一列的数据进行排序。但是排序不起作用。
这是我的 colModel
{
name: 'csd',
index: 'csd',
width: 110,
align: 'left',
sorttype: 'date',
datefmt:'d-M-Y'
}
更新1:
我正在使用 jqGrid 4.5.4 - jQuery Grid
添加说明:我不想格式化日期,我只是希望列可以按日期排序。
更新2:
我将定义更新为
{
name: 'csd',
index: 'csd',
width: 110,
align: 'left',
sorttype: 'date',
formatter:'date',
formatoptions:{srcformat:'d-M-Y' , newformat:'d-M-Y'}
}
但现在我在现场得到了NaN-undefined。
将问题标记为关闭,答案位于:
JQgrid Sorting date on the client side with a specific format
【问题讨论】:
-
你使用哪个版本的 jqGrid?
-
@oleg 我明天会检查并更新问题...
-
一般来说,我可以直接说,我建议您在指定
srcformat和newformat的地方使用formatter: "date"和formatoptions。您可以删除datefmt在这种情况下将被忽略。它应该可以解决您的问题,但结果可能会有所不同,具体取决于您使用的 jqGrid 版本。我建议您始终包含有关您使用的 jqGrid 分支的信息(free jqGrid、Guriddo jqGrid JS 或版本 -
@Oleg jqGrid 4.5.4 - jQuery Grid,这就是我正在使用的。
-
您能否尝试将(至少是临时的)jqGrid 的 URL 替换为释放 jqGrid 4.9.2 的 URL(参见 the wiki)。您使用了非常糟糕格式的输入数据,其中包含特定于语言环境的文本(“SEP”)。这是旧版本 jqGrid 在解析此类日期时的错误。如果使用免费的 jqGrid 4.9.2 解决了这个问题,那么 jqGrid 4.5.4 仍然包含旧的错误。