Сопоставить данные JSON с jqGrid
Приведенный ниже код создает объект javascript, преобразует его в JSON и пытается загрузить его в jqGrid. Я следовал примерам вики и чувствую, что очень точно следовал их примеру, но все еще не везет. Кто-нибудь может увидеть, что за отсутствующая ссылка здесь?
jQuery(document).ready(function () {
var gridData = {
total: 2,
page: '1',
records: '12',
rows: [
{ id: '1', col1: 'cell11', col2: 'cell12', col3: 'cell13' },
{ id: '2', col1: 'cell21', col2: 'cell22', col3: 'cell23' }
]
};
gridData = $.toJSON(gridData);
$('#jqgrid').jqGrid({
data: gridData,
datatype: 'json',
colNames: ['Col1', 'Col2', 'Col3'],
colModel: [
{ name: 'col1' },
{ name: 'col2' },
{ name: 'col3' }
],
jsonReader: {
root: 'rows',
total: 'total',
page: 'page',
records: 'records',
repeatitems: false,
id: '0'
}
})
1 ответ
Решение
Вам не нужно конвертировать данные в строку JSON. jqGrid должен будет преобразовать данные обратно. В случае, если вы должны использовать datatype:'jsonstring'
а также datastr:gridData
,
Лучше всего использовать массив элементов:
var gridData = [
{ id: '1', col1: 'cell11', col2: 'cell12', col3: 'cell13' },
{ id: '2', col1: 'cell21', col2: 'cell22', col3: 'cell23' }
];
$('#jqgrid').jqGrid({
data: gridData,
datatype: 'local',
...
});