1

我想知道是否可以创建一个右键单击上下文菜单,该菜单在 jqGrid 的标题行上被激活,并且能够将列添加到右侧或左侧或有问题的列或隐藏当前列(不使用 ui-multiselect)。

在这方面的任何代码将不胜感激。

4

1 回答 1

0

我建议您使用在jqGridcontextmenu中可以找到的插件。plugins/jquery.contextmenu.js答案这个例子中,描述了如何在 jqGrid 主体内部使用它。使用以下代码,您也可以在列标题中使用它:

var cm = $grid.jqGrid("getGridParam", "colModel");
$("th.ui-th-column").contextMenu('myMenu1', {
    bindings: {
        columns: function(trigger) {
            var $th = $(trigger).closest("th");
            if ($th.length > 0) {
                alert("the header of the column '" + cm[$th[0].cellIndex].name +
                    "' was clicked");
            }
        }
    },
    // next settings
    menuStyle: {
        backgroundColor: '#fcfdfd',
        border: '1px solid #a6c9e2',
        maxWidth: '600px', // to be sure
        width: '100%' // to have good width of the menu
    },
    itemHoverStyle: {
        border: '1px solid #79b7e7',
        color: '#1d5987',
        backgroundColor: '#d0e5f5'
    }
});

其中菜单myMenu1定义为

<div class="contextMenu" id="myMenu1" style="display:none">
    <ul style="width: 200px">
        <li id="columns">
            <span class="ui-icon ui-icon-calculator" style="float:left"></span>
            <span style="font-size:11px; font-family:Verdana">Choose columns</span>
        </li>
    </ul>
</div> 

该演示演示了如何使用它:

在此处输入图像描述

于 2012-07-02T17:59:33.720 回答