2013-09-06 2 views
0

установки: jqGrid 4.4.1jqgrid Uncaught TypeError: Не удается прочитать свойство «тампон» неопределенной

У меня есть сетка, которая работала навсегда. Что-то изменилось, и данные больше не отображаются в сетке. Решетка загружается, но при этом появляется сообщение «Загрузка ...».

Там сообщение об ошибке:

Uncaught TypeError: Cannot read property 'stype' of undefined (jquery.jqGrid.src.js:1599) 
$.fn.jqGrid.each.addLocalData   jquery.jqGrid.src.js:1599 
$.fn.jqGrid.each.populate    jquery.jqGrid.src.js:1853 
(anonymous function)     jquery.jqGrid.src.js:2467 
f.event.dispatch        jquery.min.js:3 
f.event.add.h.handle.i       jquery.min.js:3 
f.event.trigger         jquery.min.js:3 
(anonymous function)       jquery.min.js:3 
e.extend.each         jquery.min.js:2 
e.fn.e.each          jquery.min.js:2 
f.fn.extend.trigger        jquery.min.js:3 
$gridManager.addColumnNameToGroupHead   gridManager.js:81 
$gridManager.setGridOptions     gridManager.js:28 
$order.showOrders         orders.js:112 
$.ajax.success         orders.js:145 
f.Callbacks.o         jquery.min.js:2 
f.Callbacks.p.fireWith       jquery.min.js:2 
w            jquery.min.js:4 
f.support.ajax.f.ajaxTransport.send.d   jquery.min.js:4 

Насколько я могу сказать, что строки JSON справедливы и правильны, данные (и имена столбцов) совпадают, и все значения Stype действительны.

var searchResultGrid = jQuery("#orderStatus").jqGrid({ 
     datatype: "jsonstring", 
     datastr: orderData, 
     jsonReader: { root: 'rows', total: 'total', page: 'page', records: 'records', repeatitems: false, id: 'id' }, 
     colNames: colNames, 
     colModel: colModel, 
     rowNum: 5000, 
     height: $(window).height() - 205, 
     width: $(window).width()-29, 
     pagination: true, 
     pager: '#orderStatusPager', 
     viewrecords: true, 
     sortname: 'status', 
     sortorder: 'desc', 
     loadonce: true, 
     sortable: true, 
     ignoreCase: true, 
     emptyDataText: "No orders found", 
     grouping: true, 
     groupingView: groupingView, 
     onSelectRow: function (rowId, status) { 
      {REMOVED FOR CLARITY} 
     }, 
     loadComplete: function() { 
      jQuery("#orderStatus").trigger("reloadGrid"); // Call to fix client-side sorting 
      $gridManager.setGroupingDd("orderStatus", "orderStatusPager", groupCol, ["part_no", "Descript"], "status"); 
      if (orderId) { 
       jQuery("#orderStatus").setSelection(orderId, true); 
      } 
     }, 
     resizeStop: function() { $gridManager.updateGrid("orderStatus", "orderStatusPager"); } 
    }); 

Я могу предоставить colNames и colModel, если они имеют отношение к обнаружению проблемы.

Что может вызвать это? Или, как я могу найти причину?

UPDATE:

Вот определение groupingView

groupingView = { groupField: [groupCol], groupColumnShow: [$gridManager.isColumnVisible(groupCol)], groupText: ['<b>{0} - {1} Order(s)</b>'], groupCollapse: false, groupOrder: ['desc'] };

Я могу видеть, что groupCol имеет значение clear, которое не является столбец в json строке.

ответ

5

У меня была аналогичная проблема, и я нашел проблему с группировкой. Вы не указали подробности определения «groupingView», но сначала проверьте его.

Вам не следует пытаться группировать столбцы, которые не находятся в данных. Удалите его или удалите группировку, если имя столбца не существует.

+0

Это сработало !!! благодаря – davids

 Смежные вопросы

  • Нет связанных вопросов^_^