Установка данных jqGrid после создания сетки

Следующий пример кода загрузит jqGrid (этот код работает)...

jQuery(document).ready(function () {
    var gridData = [
                { col1: 'cell11', col2: 'cell12', col3: 'cell13' },
                { col1: 'cell21', col2: 'cell22', col3: 'cell23' }
                ];
    $('#myGrid').jqGrid({
        data: gridData,
        datatype: 'clientSide',
        colNames: ['Col1', 'Col2', 'Col3'],
        colModel: [
                        { name: 'col1' },
                        { name: 'col2' },
                        { name: 'col3' }
                        ]
    })

Как мне переписать пример, чтобы gridData был установлен после создания jqGrid? Я пробовал это...

jQuery(document).ready(function () {
    var gridData = [
                { col1: 'cell11', col2: 'cell12', col3: 'cell13' },
                { col1: 'cell21', col2: 'cell22', col3: 'cell23' }
                ];
    $('#myGrid').jqGrid({
        datatype: 'clientSide',
        colNames: ['Col1', 'Col2', 'Col3'],
        colModel: [
                        { name: 'col1' },
                        { name: 'col2' },
                        { name: 'col3' }
                        ]
    })


    $('#myGrid')[0].data = gridData;

Однако приведенный выше код не работает. Может ли кто-нибудь показать мне, как вам нравится?

UPDATE: я также пробовал это для своей последней строки, но это тоже не сработало...

    $('#jqgrid-panel-contents').jqGrid('setGridParam', {data: gridData});

Ответ 1

Может быть, попробуйте перезагрузить сетку потом?

 $('#jqgrid-panel-contents').jqGrid('setGridParam', {data: gridData}).trigger('reloadGrid');

Ответ 2

@infantDev Если я понял, что вы пытались сказать: я думаю, вам нужно сделать GridUnload

$("#jqgrid-panel-contents").jqGrid('GridUnload');

до добавления новых данных