Как динамически назначать данные в jqGrid? - PullRequest
4 голосов
/ 25 января 2012

Вот мой код для создания jqGrid

$("#ptDataGrid").jqGrid({
                    datatype: 'local',
                    data: arrSpecData,
                    colModel: colmod,
                    rowNum: 10,
                    rowList: [10],
                    pager: '#ptPager',
                    gridview: true,
                    rownumbers: false,
                    viewrecords: true,
                    loadonce:false,
                    hidegrid: false,
                    autowidth: true,
                    caption: 'Crank Pin',
                    height: '100%',
                });

Затем я применил несколько фильтров к моим данным и создал еще один массив с именем FilteredData .Теперь я хотел назначить этот новый источник данных для моей сетки.Я перепробовал все подходы, которые я знаю.Но ничего не сработало.Итак, как мы можем назначить новый источник данных для jqGrid динамически?Пожалуйста, предложите какой-нибудь способ назначить его.

                dataGrid.setGridParam({ data: filterdData });
                dataGrid[0].refreshIndex();  
                dataGrid.trigger("reloadGrid"); 

Все тот же результат, который я получаю: (

Обходной путь # 1 :

 $('#divGrid').children().remove();
 $('#divGrid').html(' <table id="ptDataGrid" class="jqgriddata"><tr><td/></tr></table><div id="ptPager"></div> ');  

 createGrid(filterdData,true);

1 Ответ

5 голосов
/ 25 января 2012

Вы можете сначала установить новый data относительно setGridParam, а затем вызвать метод refreshIndex (см. ответ ), чтобы обновить внутренний используемый параметр _index.

ОБНОВЛЕНО : Нажмите кнопку «Изменить данные» на демоверсии , чтобы убедиться, что подход работает.

...