jqGrid показывает 13-значный номер, а не формат даты - PullRequest
0 голосов
/ 22 августа 2011

Мой jqGrid показывает (1303153262000) при начальной загрузке сетки. Однако, когда столбец отсортирован, дата правильно отформатирована (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"]
});

Любая помощь будет принята с благодарностью! Спасибо.

Edit:

@ Олег вот как данные выглядят на стороне сервера:

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 делать это при загрузке страницы?

Я вытащил это из затмения. Я использую список / массив с именем 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"}]}

1 Ответ

1 голос
/ 22 августа 2011

Если дата поступает с сервера как 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'.

ОБНОВЛЕНО : Вы можете загрузить данные JSON, которые вы разместили непосредственно в jqGrid. Смотрите модифицированную демоверсию здесь . Вам нужно просто использовать в 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 не интересно пользователю, вы можете удалить соответствующий столбец из таблицы.

...