Пользовательский формат строки jqGrid, такой как формат даты - PullRequest
0 голосов
/ 12 сентября 2018

Я пытаюсь распечатать данные json на веб-странице с помощью jqGrid, но есть некоторые проблемы.

Вот мой код js-скрипта.

$('#sometables').jqGrid({
    ...
    ...
    ...
    colNames: ['created_date'], 
    colModel: [ {name: 'created_date', align: 'center} ], 
    ...
    ...
    ...
});

created_date - это jsondata (origin java String type).

Итак, я могу видеть created_date в сетке веб-страниц, например: 20180912093510, это означает 2018/09/12 09:35:10.

Проблема заключается в следующем: Как мне отформатировать строковый тип в jqgrid?

Я хочу видеть 2018/09/12 09:35:10, а не 20180912093510.

Сначала я попробовал:

{name: 'created_date', align: 'center', formatter: 'date', formatoptions: {newformat: 'Y/m/d H:i:s'}},

, но результат был: NaN/NaN/NaN NaN:NaN:NaN

Я попробовал второе:

{name: 'created_date', align: 'center', formatter: 'date', formatoptions: {srcformat: 'string', newformat: 'Y/m/d H:i:s'}},

но результат был такой: 1970/01/01 00:00:00

Можно ли преобразовать строковые данные в данные типа даты?Нужно сделать функцию форматирования строки?Если можно, приведите несколько примеров.

1 Ответ

0 голосов
/ 12 сентября 2018

Вы можете использовать, например, пользовательский форматер, который вызывает предварительно определенный форматер даты внутри. Соответствующий код может выглядеть следующим образом:

{
    name: "created_date",
    align: "center",
    sorttype: "integer",
    formatter: function (cellValue, options, rowdata, action) {
        var fixedValue = cellValue.substr(0, 4) + "-" +
                cellValue.substr(4, 2) + "-" +
                cellValue.substr(6, 2) + "T" +
                cellValue.substr(8, 2) + ":" +
                cellValue.substr(10, 2) + ":" +
                cellValue.substr(12);
        return $.fn.fmatter.call(this, "date", fixedValue, options, rowdata, action);
    },
    formatoptions: {
        srcformat: "ISO8601Long",
        newformat: "Y/m/d H:i:s"
    }
}

См. https://jsfiddle.net/OlegKi/7pzy2x86/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...