Jquery 如何在右键单击jqGrid时打开“显示隐藏列”对话框

Jquery 如何在右键单击jqGrid时打开“显示隐藏列”对话框,jquery,asp.net-mvc,jqgrid,Jquery,Asp.net Mvc,Jqgrid,在jqGrid中,如何打开“显示/隐藏列”对话框作为上下文菜单?目前,我编写了一小段代码,打开“显示/隐藏列”对话框,但它也显示正常的右键单击上下文菜单。但我不想要通常的右键单击上下文菜单 这是一个现有的代码 @(Html.Grid("Basic") .SetCaption("Basic Grid") .AddColumn(new Column("Id") .SetHidden(true)) .AddColumn

在jqGrid中,如何打开“显示/隐藏列”对话框作为上下文菜单?目前,我编写了一小段代码,打开“显示/隐藏列”对话框,但它也显示正常的右键单击上下文菜单。但我不想要通常的右键单击上下文菜单

这是一个现有的代码

@(Html.Grid("Basic")

      .SetCaption("Basic Grid")

      .AddColumn(new Column("Id")
                     .SetHidden(true))

      .AddColumn(new Column("Name"))
      .AddColumn(new Column("Age"))

      .SetRequestType(RequestType.Get)
      .SetForceFit(true)
      .SetShrinkToFit(true)
      .SetUrl("/Home/Data/")
      .SetAutoWidth(true)
      .SetRowNum(10)
      .SetRowList(new[] { 10, 15, 20 })
      .SetViewRecords(true)
      .SetPager("pager")
      .SetDataType(DataType.Json)
      .SetLoadOnce(true)
      .SetGridView(true)
      .SetSortOrder(SortOrder.Asc)
      .OnPaging("onPaging()")
      .SetToolbar(true)
      .SetToolbarPosition(ToolbarPosition.Top)
      .OnGridComplete("onComplete()")
      .OnRightClickRow("onRightClick()"))
这里有一个函数,当我按下右键单击时触发

<script>

    function onRightClick() {
       $('#Basic').setColumns();
    }
</script>

函数onRightClick(){
$('#Basic').setColumns();
}

您是否尝试过:
$('#Basic').on('contextmenu',function(e){e.preventDefault();})???应该是:
e.target
而不是
事件。target
是,它可以工作。但我如何才能实现所需的功能。e、 target return col id.e.target返回触发事件的元素,在大多数情况下是网格单元格而不是列。那么您是在寻找列ID还是什么?我想隐藏所有行的目标单元格。另外,如果有人单击“显示所有列”,则所有隐藏列都会显示。