1

hidecol对 jqGrid 的方法有疑问。该方法被调用,但没有任何反应。

我使用版本 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,可以吗?

任何提示高度赞赏!

4

1 回答 1

0

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

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

代替

$("#shipTable").jqGrid('hideCol',"Name").trigger('reloadGrid');
于 2013-08-21T14:30:16.100 回答