jqGrid不响应hideCol方法

时间:2013-08-21 14:01:01

标签: jquery css jqgrid

我对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 ,可以吗?

任何提示都非常感谢!

1 个答案:

答案 0 :(得分:0)

您使用小写名称(name : 'name')定义了列,但在列名称(“名称”)中使用了第一个大写字母。要解决此问题,您需要使用

$("#shipTable").jqGrid("hideCol", "name");

而不是

$("#shipTable").jqGrid('hideCol',"Name").trigger('reloadGrid');