我对jqGrid的hidecol
方法有疑问。调用该方法,但没有任何反应。
我使用版本jqGrid 4.5 。
我的表格是这样创建的:
// Create table with jqGrid
$('#shipTable').jqGrid({ // set your grid id
data : tableItems, // insert data from the data object we created above
datatype : 'local',
autowidth : true,
colNames : [
'Name', 'Status', 'Ownership', 'Monitoring', 'Shiptype', 'Departure', 'ETD', 'Destination', 'ETA', 'Delta', 'SOG', 'Speed', 'HFO', 'HFO LS', 'MDO', 'MDO LS', 'RPM 24/H', 'Prop slip 24/H', 'GW 24/H', 'Next service'
], // define column names
colModel : [
{
name : 'name',
index : 'name',
width : 160,
hidden:false
}, {
name : 'status',
index : 'status',
width : 70
}, //other cols left out for brevity
], // define column models
rowNum : 100,
height : 400,
scrollOffset : 30,
sortname : 'id',
viewrecords : true,
sortorder : 'desc',
gridview : true,
caption : 'Ships',
pager : '#pager',
toppager:true,
ignoreCase : false,
onSelectRow : function(rowid) {
// some work
}
});
使用jQuery,我创建了一个复选框列表,用于管理列的可见性。
然而,作为测试,我现在已经将所有复选框称为:
$("#shipTable").jqGrid('hideCol',"Name").trigger('reloadGrid');
这应该有效,但由于某种原因,它不是。我做了一些自定义 CSS ,可以吗?
任何提示都非常感谢!
答案 0 :(得分:0)
您使用小写名称(name : 'name'
)定义了列,但在列名称(“名称”)中使用了第一个大写字母。要解决此问题,您需要使用
$("#shipTable").jqGrid("hideCol", "name");
而不是
$("#shipTable").jqGrid('hideCol',"Name").trigger('reloadGrid');