jqGrid – 未应用日期和时间格式

我有一个显示3列的jqGrid,其中一列是日期时间(正在返回的SQL Datetime字段)。 colModel设置如下:

colModel:[ {name:"col1",....,sortable:false}, {name:"col2",....,sortable:false}, {name:"SendTime",index:"SendTime",width:col3width,align:"left",formatter:"datetime",formatoptions:{srcformat:"ISO8601Long",newformat:"LongTime"},xmlmap:"SendTime",sortable:false} ], 

从SQL返回的日期采用以下格式:

 YYYY-MM-DDTHH:mm:ss 

jqGrid中的所有字段都不可排序,SQL ORDER BY控制返回的数据的顺序。

我想更改返回的日期格式,省略中间的“T” – YYYY-MM-DD HH:mm:ss 。 如果我不能这样做,我会考虑只有格式化的军事时间。 我在colModel设置中尝试了几种格式选项,但只是成功地格式化了日期或时间,但不能同时进行两种格式化。

这需要自定义格式化程序,还是我忽略了jqGrid中的设置? 非常感谢任何帮助。

谢谢! 小号

jqGrid有预定义formatter:"date" ,但没有formatter:"datetime" (参见文档 )。 因此,您应该修改格式化程序的名称以使其正常工作。

最后一个版本的jqGrid支持YYYY-MM-DDTHH:mm:ss而不仅仅是YYYY-MM-DD HH:mm:ss 。 因此,您无需在后端进行任何更改。

您应该考虑使用sorttype: "date" 。 如果您使用loadonce: true或使用datatype: "local"可能会有所帮助。

您可以使用sql CONVERT将其格式化,然后将其放入提供网格的数据集中,而不是尝试将jqgrid格式设为日期。 我不知道你在使用什么SQL,但是在SQL Server中:

 SELECT CONVERT(VARCHAR(19), GETDATE(), 120) 

最终看起来像

 2013-05-21 10:18:39 

有关格式的更多信息

http://www.sql-server-helper.com/tips/date-formats.aspx