当网格没有行时,在对话框窗口内使用jqGrid上下文菜单

当网格没有行时,在对话框窗口内使用jqGrid上下文菜单,jqgrid,Jqgrid,我有两个问题是关于上下文菜单的: 我有一个空的网格,我希望在单击网格本身或列标题时显示上下文菜单,当前上下文菜单仅在网格中有行时显示。那我该怎么做呢 我在对话框窗口中有另一个网格: $('#company_grid').contextMenu('grid_contextmenu', { bindings: { 'add_row': function(t) { }, 'delete_row': function(t)

我有两个问题是关于上下文菜单的:

  • 我有一个空的网格,我希望在单击网格本身或列标题时显示上下文菜单,当前上下文菜单仅在网格中有行时显示。那我该怎么做呢

  • 我在对话框窗口中有另一个网格:

    $('#company_grid').contextMenu('grid_contextmenu', {
        bindings: {
            'add_row': function(t)
            {
            },
    
            'delete_row': function(t)
            {
            }
        });
        $(function()
        {
            $( "#company" ).dialog(
            {
                autoOpen: false,
                height: 500,
                width: 900,
                modal: true,
                resizable: false,
                open: function(event, ui)
                {
                    $("#company").setGridWidth($(this).width()-2 );
                    $("#company").setGridHeight($(this).height()-100);
                }
            });
        });
    
    <div id="company">
        <table id="company_grid"></table>
    </div>
    <div class="contextMenu" id="grid_contextmenu">
        <ul>
            <li id="add_row">&nbsp;Add Row&nbsp;</li>
            <li id="delete_row">&nbsp;Delete Row&nbsp;</li>
        </ul>
    </div>
    
    $(“#公司#网格”).contextMenu(“网格#contextMenu”{
    绑定:{
    “添加行”:函数(t)
    {
    },
    “删除行”:函数(t)
    {
    }
    });
    $(函数()
    {
    $(“#公司”)。对话框(
    {
    自动打开:错误,
    身高:500,
    宽度:900,
    莫代尔:是的,
    可调整大小:false,
    打开:功能(事件、用户界面)
    {
    $(“#公司”).setGridWidth($(this.width()-2);
    $(“#公司”).setGridHeight($(this.height()-100);
    }
    });
    });
    
      添加行 删除行

  • 当对话框打开时,我看不到上下文菜单。我意识到它出现在对话框后面。那么我做错了什么?我如何向对话框网格添加上下文菜单?

    我猜jQuery中的所有对话框都是由CSS控制的

    也许您可以尝试更改上下文菜单的z索引值,使其在对话框中弹出?

    查看此答案
    并将其绑定到元素。