我有一个网格,它初始化时没有数据,但在用户交互后加载了数据。我的网格还使用“分组”功能,以便:
ordersGrid.jqGrid({
url: '',
mtype: '',
datatype: 'local',
colNames: ['Order', 'Task #', 'Type', 'Status', 'Assignee', 'Current Location',
'Dest Location', 'Change No', 'Net Patched', 'SAN Patched', 'Select'],
colModel: [
{ name: 'Order', index: 'Order ID'},
{ name: 'Task #', index: 'Task #'},
{ name: 'Type', index: 'Type'},
{ name: 'Status', index: 'Status'},
{ name: 'Assignee', index: 'Assignee'},
{ name: 'Current Location', index: 'Current Location'},
{ name: 'Dest Location', index: 'Dest Location'},
{ name: 'Change No', index: 'Change No'},
{ name: 'Net Patched', index: 'Net Patched'},
{ name: 'SAN Patched', index: 'SAN Patched'},
{ name: 'Select', index: 'Select', width:'75px', classes: "SelectColumn",
editable: true, edittype:'checkbox', editoptions: {value:"True:False"},
formatter:"checkbox", formatoptions: {disabled: false}}
],
gridview: true,
height: 'auto',
pager: ordersGridPager,
viewrecords: true,
grouping: false, //Set to true once data is loaded.
groupingView: {
groupField: ['Order'],
groupColumnShow: [false]
},
loadError: function(error) {
console.error(error);
}
});
如果我在网格初始化期间将属性'grouping'设置为true,我会在页面上看到以下错误:
Uncaught TypeError: Cannot read property 'stype' of undefined
如果在将分组设置为true之前网格上有数据,则此错误不存在。如果我把分组视为假,一切都很好。
问题在于,即使没有数据,我也不想查看“订单”列。我怎样才能做到这一点?
这是一个关于这个问题的JS小提琴:http://jsfiddle.net/qrjZD/1/
答案 0 :(得分:1)
产生错误的主要问题是在index
列中使用Order
属性,该值不等于name
属性的值。如果是本地网格(datatype: 'local'
),则不应该这样做。
下一个问题是您使用了包含特殊字符的name
属性:空格和#
。建议不要这样做,因为name属性将用于构造网格某些元素的id
属性。
请在此处查看固定代码:http://jsfiddle.net/qrjZD/3/。