Date jqGrid显示13位数字,而不是格式日期

Date jqGrid显示13位数字,而不是格式日期,date,jqgrid,format,onload,Date,Jqgrid,Format,Onload,我的jqGrid在初始网格负载上显示为(1303153262000)。但是,当对列进行排序时,日期格式正确为(8月18日上午11:43)。有没有办法让网格在加载时自动进行格式化 这正是从服务器返回的日期(2011-04-18 19:01:02) 以下是我使用的jqGrid柱模型: jQuery("#list4").jqGrid({ datatype: "local", height: 250, colNames:['Original ID','Date Created', 'Type', 'Ti

我的jqGrid在初始网格负载上显示为(1303153262000)。但是,当对列进行排序时,日期格式正确为(8月18日上午11:43)。有没有办法让网格在加载时自动进行格式化

这正是从服务器返回的日期(2011-04-18 19:01:02)

以下是我使用的jqGrid柱模型:

jQuery("#list4").jqGrid({
datatype: "local",
height: 250,
colNames:['Original ID','Date Created', 'Type', 'Title'],
colModel:[  
{name:'Id',index:'Id'},
{name:'cDate',index:'cDate', width:120, sorttype:'date', formatter:'date',     formatoptions: {srcformat:'M d h:i', newformat:'M d g:i A'}},  
{name:'xData',index:'xData', width:120}, 
{name:'zData',index:'zData', width:140}
],
rowNum: 1000,
multiselect: true,
toolbar: [true, "top"]
});
任何帮助都将不胜感激!谢谢

编辑:

@Oleg以下是服务器端数据的外观:

2011-04-18 19:01:02
2011-04-18 19:01:28
2011-01-07 01:00:20
2011-04-18 19:01:02
2011-04-18 19:01:28
2011-01-07 01:00:20
2011-06-29 22:20:29
2011-06-29 21:47:55
下面是它返回jqGrid时的样子:

Test: 1303153262000
Test: 1303153288000
Test: 1294362020000
Test: 1303153262000
Test: 1303153288000
Test: 1294362020000
我是否必须创建一个带有返回结果的新数组,并使用一个函数将历元日期更改为我想要的日期格式?必须这样做是没有意义的,因为jqGrid显然具有该功能,但只有在用户单击排序时才有意义。有没有办法让jqGrid在页面加载时执行此操作

我从eclipse中提取了这个。我正在使用一个名为NotesArray的列表/数组。这是从服务器返回的数组:

NotesArray:{Original_Created_Date__c=2011-07-01 01:06:55, Title__c=Title of message 1 00001073: 06/30/2011 18:07:07, Type__c=Task, Id=a0D8000000Na0Q0EAJ, Originating_Id__c=00T8000001nuEzPEAU}
NotesArray:{Original_Created_Date__c=2011-06-30 22:14:48, Title__c=Title of message 2 00001072: 06/30/2011 15:15:00, Type__c=Task, Id=a0D8000000Na0Q1EAJ, Originating_Id__c=00T8000001nuCccEAE}
NotesArray:{Original_Created_Date__c=2011-06-30 21:24:47, Title__c=Title of message 3 00001071: 06/30/2011 14:25:00, Type__c=Task, Id=a0D8000000Na0Q2EAJ, Originating_Id__c=00T8000001nuB5cEAE}
NotesArray:{Original_Created_Date__c=2011-06-30 21:19:48, Title__c=Title of message 4 00001070: 06/30/2011 14:20:00, Type__c=Task, Id=a0D8000000Na0Q3EAJ, Originating_Id__c=00T8000001nuBFiEAM}
NotesArray:{Original_Created_Date__c=2011-06-30 21:14:47, Title__c=Title of message 5 00001069: 06/30/2011 14:15:00, Type__c=Task, Id=a0D8000000Na0Q4EAJ, Originating_Id__c=00T8000001nuAzDEAU}
NotesArray:{Original_Created_Date__c=2011-06-30 21:09:47, Title__c=Title of message 6 00001068: 06/30/2011 14:10:00, Type__c=Task, Id=a0D8000000Na0Q5EAJ, Originating_Id__c=00T8000001nuASSEA2}
将返回更改为JSON:

{"rows": [{"ObjectType": "Event","CreatedDate": "2011-01-03 09:16:51","ActivityType": "Call","OriginalId": "00U8000000Elxb4EAB","Title": "TEST EVENT"},{"ObjectType": "Event","CreatedDate": "2011-01-03 08:53:22","ActivityType": "Meeting","OriginalId": "00U8000000ElxY9EAJ","Title": "sadfasdf"},{"ObjectType": "Event","CreatedDate": "2011-01-03 08:51:04","ActivityType": "Meeting","OriginalId": "00U8000000ElxXkEAJ","Title": "werwrasdf"},{"ObjectType": "Task","CreatedDate": "2011-01-06 14:42:43","ActivityType": "Call","OriginalId": "00T8000001bce9VEAQ","Title": "test"},{"ObjectType": "Task","CreatedDate": "2011-01-03 08:50:41","ActivityType": "Meeting","OriginalId": "00T8000001aiqAXEAY","Title": "asdfasdfasf"},{"ObjectType": "Task","CreatedDate": "2011-01-03 08:50:29","ActivityType": "Call","OriginalId": "00T8000001aiqAcEAI","Title": "asdfsaf"},{"ObjectType": "Task","CreatedDate": "2011-01-03 08:52:55","ActivityType": "Call","OriginalId": "00T8000001aiqBuEAI","Title": "asdfsaf"},{"ObjectType": "Note","CreatedDate": "2011-08-22 15:17:11","ActivityType": "Note","OriginalId": "0028000000T03CUAAZ","Title": "Mondays Best"},{"ObjectType": "Note","CreatedDate": "2011-08-18 11:43:25","ActivityType": "Note","OriginalId": "0028000000SzwIjAAJ","Title": "Note Test"}]}

如果来自服务器的日期为'2011-04-18 19:01:02',为什么使用
'M d h:i'
而不是
'Y-M-d h:i:s'
作为
srcformat
的值

如果使用

formatoptions: {srcformat:'Y-m-d H:i:s', newformat:'M d g:i A'}
这并不能解决您的问题。您应该提供用于填充“cDate”列的输入数据的确切示例

已更新:您可以加载直接发布在jqGrid中的JSON数据。查看修改后的演示。您需要的只是在jqGrid中使用列上的名称,如JSON数据中的名称,此外还应该使用

loadonce: true,
jsonReader: {
    repeatitems: false,
    id: "OriginalId",
    root: "rows",
    page: function (obj) { return 1; },
    total: function (obj) { return 1; },
    records: function (obj) { return obj.length; }
}

在演示中,我又添加了一列,因为我不知道是
ObjectType
还是
ActivityType
要显示在
'Type'
列中。您可以从jqGrid(不适用于JSON)中删除任何不需要显示的列。例如,如果用户对
OriginalId
列中的contain不感兴趣,则可以从网格中删除相应的列。

我没有答案,但1303153262000是自“Unix时代”(1970-01-01 00:00:00 UTC)以来的毫秒数,截至2011-04-18 19:01:02。测试:1303153262000测试:1303153288000测试:129436200000测试:1303153262000测试:1303153288000测试:1294362020000@AntonioHerrera:您发布的代码具有
数据类型:“local”
。所以不清楚你是如何填写表格的。您写道您从服务器获取数据。为什么不使用
数据类型:“json”
数据类型:“json”
?据我所知,只有在初始网格加载时,数据才会以错误的方式显示,但您没有包括初始网格填充(加载)的代码。你能给你的问题加上密码吗?@Antonio Herrera:看看。这不是你想要的吗?啊,对不起@Oleg是的,我不小心漏掉了。这是我用来用java=>for返回的数据填充网格的循环(var i=0;i@AntonioHerrera:addRowDatamathod将原始数据放置在网格中,而不使用任何数据格式。为什么不像中那样从服务器加载数据?