jqGrid зависает при перезагрузке данных - PullRequest
1 голос
/ 25 декабря 2011

У меня есть n jqGrid, который загружает одну строку данных, и у меня есть пользовательская кнопка, чтобы загрузить другой набор данных и затем перезагрузить сетку! Когда сетка загружается, она работает нормально, не проблема, но когда я добавляю новые данные, я просто получаю n Блок загрузки. Я сражаюсь в течение нескольких часов и не радуюсь. Любая помощь Пожалуйста, я даже выгрузил сетку, но она не воссоздается, даже если Вставьте теги HTML, пожалуйста, помогите?

<table id="PrimaryGrid"></table>
<input id="addinv" type="button" value="Add Custom Item">
var string;
var Count = 0;
var myrow = [];
var item = {"id": Count,"cell": ["dfg","dfg","dfg","dfg","","false"]};
Count = Count + 1;
myrow.push(item);
$('#PrimaryGrid').jqGrid({datastr: GetJSON(),datatype: 'jsonstring',
 colNames: ['Code', 'Description', 'Qty', 'Price','Action',''],
 colModel:
  [
   { name: 'Code', index: 'Code', width: 50, align: 'left', sortable: false },
   { name: 'Description', index: 'Description', width: 300, align: 'left', sortable: false },
   { name: 'Qty', index: 'Qty', width: 50, align: 'center', sortable: false },
   { name: 'Price', index: 'Price', width: 100, align: 'right', sortable: false },
   {name:'act',index:'act', width:60,sortable:false},
   {name:'subg',index:'subg', width:1,sortable:false},
   ],
 rowNum: -1,
 height: 'auto',
 multiselect: false,
 autowidth: true,
 sortname: 'Qty',
 sortorder: 'ASC',
 viewrecords: true,
 subGrid: true,
 loadonce: false,
 gridComplete: function () { 
  for (var i = 0; i < Count; i++) {
   if($("#PrimaryGrid").getRowData(i).subg == "false"){
    $('tr#'+i, $("#PrimaryGrid"))
    .children("td.sgcollapsed")
        .html("")
        .removeClass('ui-sgcollapsed sgcollapsed');
    }
   }                    },
 caption: '<div style="width:630px;height:20px;">Items and Bills</div>'
});
function GetJSON() {
 var myarray;
 myarray = {
  "page":"1",
  "total":Count.toString(),
  "records":Count.toString(),
  "rows":myrow
 };
 return myarray;
}
$("#PrimaryGrid").jqGrid('setGridParam',{
 gridComplete: function(rowid, aData, rowelem) {
  alert('test');
  var rowData = $("#PrimaryGrid").getRowData(rowid);
  if(rowData.Action == "false"){
   $('tr#'+rowid, grid)
    .children("td.sgcollapsed")
    .html("")
    .removeClass('ui-sgcollapsed sgcollapsed');
  }
 }
});
$('.ui-jqgrid').css('font-size', '12px');
$('.ui-jqgrid tr.jqgrow td').css('font-size', '12px'); 
document.getElementById('addinv').onclick=function(){
 var item = {"id": Count,"cell": ["dfg","dfg","dfg","dfg","","false"]};;
 Count = Count + 1;
 myrow.push(item);
 $('#PrimaryGrid').trigger("reloadGrid");
}    

В Firebug есть 3 ошибки

b.isArray не является функцией jquery.jqGrid.min.js Линия 72 b (d.target) .closest не является функцией jquery.jqGrid.min.js Линия 113 b (d.target) .closest не является функцией jquery.jqGrid.min.js Линия 113

Любая помощь?

1 Ответ

0 голосов
/ 26 декабря 2011

Получаете ли вы ошибку Javascript? В FireFox откройте консоль tools-> web developer-> error и перезагрузите страницу. (Предполагая, что у вас есть плагины FF для этого).

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