Я хочу отобразить некоторые данные, которые хранятся локально на стороне клиента (в виде массива 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 запускается каждый раз.Это создало бесконечный цикл в моем предыдущем коде.