Поддерживает ли jqgrid 3.6.4 тип данных: локальный - PullRequest
1 голос
/ 19 сентября 2011

Я хочу отобразить некоторые данные, которые хранятся локально на стороне клиента (в виде массива JS) в jqgrid.Но когда я использую jqgrid 3.6.4, ничего не происходит, в то время как для jqgrid 4.0.0 он работает нормально.

Итак, поддерживает ли jqgrid 3.6.4 тип данных: локальный или есть другой способ получить локальныйданные в этой версии jqgrid?

Мой фрагмент кода выглядит следующим образом: objArrayData - это массив данных.

jQuery("#testLookupTable").jqGrid({
                datatype: 'local',
                data: objArrayData,
                colNames:['Stmt ID','Code','Definition'],
                colModel:[
                        {name:'id',index:'id', width:0, align:'center', sortable:false, hidden:true},
                        {name:'code_Q',index:'code_Q', width:20, align:'center', sortable:false},
                        {name:'defn',index:'defn', width:20, align:'center', sortable:false}
                ],
                autowidth: true,
                hoverrows: true,
                gridview: true,
                height: '100px',
                sortname: 'id',
                viewrecords: true,
                sortorder: "desc",
                hidegrid: false  
            });

ОБНОВЛЕНИЕ:

addRowData не работает должным образом.Он повторяет данные в массиве снова и снова.В IE это приводит к переполнению стека.

Мой новый фрагмент:

 jQuery("testLookupTable").jqGrid({
                datatype: 'local',
                //data: objArrayCR7,
                colNames:['Stmt ID','Code','Definition'],
                colModel:[
                        {name:'id',index:'id', width:0, align:'center', sortable:false, hidden:true},
                        {name:'code_Q',index:'code_Q', width:20, align:'center', sortable:false},
                        {name:'defn',index:'defn', width:20, align:'center', sortable:false}
                ],
                autowidth: true,
                hoverrows: true,
                gridview: true,
                height: '100px',
                sortname: 'id',
                viewrecords: true,
                sortorder: "desc",
                hidegrid: false,
                gridComplete: function(){
                    $('#testLookupTable').addRowData('code_Q',objArrayCR7);
                }  
            });

решено ( обновлено ):

Нашел мою ошибку:

Я должен поставить эту строку:

  $('#testLookupTable').addRowData('code_Q',objArrayCR7);

за пределами .jqgrid ().

Кто-то исправит меня, если я ошибаюсь, я нашелчто при каждом запуске .addRowData () сетка перезагружается, поэтому событие gridComplete запускается каждый раз.Это создало бесконечный цикл в моем предыдущем коде.

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

Заполнение локальной jqGrid относительно data: objArrayData поддерживается начиная с версии 3.7. Наибольшее быстродействие получения, если вы используете параметр data вместе с gridview: true.

В версии 3.6.4 вы должны заполнить сетку относительно addRowData .

Я рекомендую вам использовать только последнюю версию jqGrid. На данный момент это версия 4.1.2.

0 голосов
/ 20 сентября 2011

Обнаружил мою ошибку:

Я должен поставить эту строку:

 $('#testLookupTable').addRowData('code_Q',objArrayCR7);

за пределами .jqgrid ().

Кто-то исправит меня, если я ошибаюсь,Я обнаружил, что каждый раз при запуске .addRowData () сетка перезагружается, поэтому событие gridComplete запускается каждый раз.Это создало бесконечный цикл в моем предыдущем коде.

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