【问题标题】:JQgrid: Is there any event that fires when clicked on JQgrid Header?JQgrid:单击 JQgrid 标题时是否会触发任何事件?
【发布时间】:2013-12-12 19:43:12
【问题描述】:

在我的 .net 应用程序中,我使用 Jqgrid 生成报告。对于某些报告,我需要显示多个网格,即;一次只能展开一个网格。

为此,我需要知道是否有任何网格标题单击事件可用。

我已经检查了这个事件,我只能看到“onHeaderClick”事件可用。 onHeaderClick 事件只有在我们点击每个网格标题右上角的展开或折叠图标时才会触发。

感谢任何帮助。

【问题讨论】:

  • 如果没有标准支持,您可以可能使用on 附加委托事件。
  • 感谢您的回复。你能说得清楚一点吗。

标签: javascript jquery jqgrid


【解决方案1】:

您可以手动将click事件句柄绑定到标头:

var $grid = $("#grid"); // your grid

$($grid[0].grid.cDiv).click(function() {
    // $mygrid will be the same as $grid, but we can use the expression below
    // to be able to use one even handle for multiple grids
    var $mygrid = $(this).closest(".ui-jqgrid-view")
                      .find(">.ui-jqgrid-bdiv>div>.ui-jqgrid-btable"),
        gridstate = $mygrid.jqGrid("getGridParam", "gridstate");
    alert("the header is clicked!\n" +
          "gridstate is now \"" + gridstate + "\"");
});

$grid.bind("jqGridHeaderClick", function (e, gridstate) {
    alert("the icon in the header is clicked!\n" +
          "gridstate is now \"" + gridstate + "\"");
});

如果需要,您可以模拟“点击”标题中的图标,如the demo do。

【讨论】:

  • 谢谢,对我的项目很有帮助。
  • @Cyber​​:像任何其他事件一样:您应该构造代表所有 DOM 元素的 jQuery 包装器对象,然后使用 bindclick。例如,$(".ui-jqgrid-btable").bind("jqGridHeaderClick", ...);
  • 我在这个事件中有一个问题。最初我有三个网格,如果我单击任何网格标题,所有子网格都将被卸载。在这种情况下,如果我单击第一个网格标题所有子网格正在卸载,但是如果我再次创建所有三个网格并尝试单击第二个网格标题,则它不起作用。这意味着在卸载网格后,这个事件不起作用。任何建议。
  • @Cyber​​:你在“卸载”下是什么意思?如果您重新创建网格,则必须在每次创建基本 <table> 元素后重新绑定事件。
  • @Cyber​​:执行$('#mygrid').jqGrid('GridUnload') 后,整个网格(包括所有绑定)将被销毁。在同一个地方将创建空<table id="mygrid"></table>。因此,您应该创建 new 网格,然后再执行一次我发布的代码($($grid[0].grid.cDiv).click$grid.bind("jqGridHeaderClick", ...)。这就是我之前在重新创建网格和重新绑定下的评论中的意思。
【解决方案2】:

请尝试以下代码:

 $(".ui-th-column").click(() => {
            // To do
  });

jqGrid on column header click event

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-20
    • 1970-01-01
    • 2012-07-03
    • 2016-04-04
    • 2011-05-26
    • 2011-04-15
    • 1970-01-01
    相关资源
    最近更新 更多