代码之家  ›  专栏  ›  技术社区  ›  Harv

jqgrid单元格编辑需要定位错误消息对话框

  •  1
  • Harv  · 技术社区  · 14 年前

    我正在使用jqgrid进行单元格编辑。我已经使用editRules选项设置了colmodel属性。如果我编辑一个单元格并尝试保存一个无效的值,网格会显示一个错误对话框,但是我需要知道如何定位出现的错误消息对话框,因为在我的布局中,它最终会出现在视频后面。我不太清楚该怎么做,似乎也没有任何明显的选择。

    在这种情况下,我将尝试操作的对话框是标识为“信息”对话框的对话框。

    另外,我正在使用cellsubmit的clientarray选项。

    2 回复  |  直到 11 年前
        1
  •  0
  •   Oleg    14 年前

    的默认值 zIndex 参数 info_dialog 是1000。函数 信息对话框 从grid.common.js,jqgrid的一部分将从grid.celledit.js调用,而不使用可以更改选项的第4个参数。

    所以我建议你最好的实用方法是减少 Z指数 你的价值 div 用视频使其小于1000。

        2
  •  2
  •   krokador    11 年前

    我意识到这是相当古老的,但在搜索之后,我没有发现任何迹象表明这可能是后来添加的,所以我想现在我已经弄清楚了,我会让每个人知道我是如何解决我的定位问题的。

    $(document).ready(function ()
    {
        $.jgrid.jqModal = $.extend($.jgrid.jqModal || {}, {
            beforeOpen: centerInfoDialog
        });
    });
    
    function centerInfoDialog()
    {
        var $infoDlg = $("#info_dialog");
        var $parentDiv = $infoDlg.parent();
        var dlgWidth = $infoDlg.width();
        var parentWidth = $parentDiv.width();
    
        $infoDlg[0].style.left = Math.round((parentWidth - dlgWidth) / 2) + "px";
    }
    

    从jqgrid源代码中可以找到,您可以添加beforeopen和afteropen。在我的例子中,我宁愿在它被显示之前定位它(duh!)如果在网格声明中有一个参数来连接它,那就太好了,但这同时也起到了作用。

    我希望这能帮助别人!我整个下午都在这上面度过!