jqGrid - determine name of column on right click of a column in jqGrid

后端 未结 2 1633
借酒劲吻你
借酒劲吻你 2021-01-13 16:48

I want the name of the column on right click of a column header in jqGrid. Any code would be appreciated.

2条回答
  •  悲哀的现实
    2021-01-13 17:04

    You can bind contextmenu event to all column headers. Every header is element and so its DOM support cellIndex property. The cellIndex property gives you the index of column header. If you would use the same index in colModel you will get the definition of the column. The name property gives you the column name.

    The corresponding code could be about the following:

    var cm = $grid.jqGrid("getGridParam", "colModel");
    $("th.ui-th-column", $grid[0].grid.hDiv).bind('contextmenu', function(e) {
        var $th = $(e.currentTarget).closest("th");
        if ($th.length > 0) {
            alert("the header of the column '" + cm[$th[0].cellIndex].name +
                "' was clicked");
            e.preventDefault(); // don't display standard context menu
        }
    });
    

    The demo uses the code. Just use the right mouse click on the column header and you will see the results:

    enter image description here

提交回复
热议问题