1

我正在寻找一种在 struts2-jquery 网格上打开编辑对话框时使用 beforeShowForm 事件的方法。我希望能够将自定义字段添加到编辑对话框。

<sjg:grid
        altRows="false"
        id="gridtable"
        dataType="json"
        editurl="%{editurl}"
        filter="true"
        filterOptions="{stringResult:true}"
        gridModel="gridModel"
        height="600"
        href="%{remoteurl}"         
        loadonce="true"
        navigator="true"
        navigatorAdd="%{editPermission}"
        navigatorAddOptions="{reloadAfterSubmit:true,addCaption:'Add Record'}" 
        navigatorDelete="false"
        navigatorEdit="%{editPermission}"
        navigatorRefresh="true"
        navigatorSearch="false"
        onCompleteTopics="loadComplete"
        onSelectRowTopics="rowselect"
        pager="true"
        pagerButtons="true"
        rowList="25,50,100"
        rowNum="25"
        rownumbers="true"
    >

但是,我在理解如何使用带有 sjg 标签的 beforeShowForm 事件时遇到问题。我已经搜索了几天的解决方案,但所有这些似乎都只在使用常规 jqGrid 而不是 sjg 标签时才出现。大多数示例似乎都引用了 jqGrid wiki,但我还是不明白访问该事件的方式。有人可以给我一个在 sjg 标签内的编辑按钮上为 beforeShowForm 分配函数的示例吗?

谢谢

4

1 回答 1

2

我自己不使用struts2。我想网格的 id 是"gridtable". 我建议您使用jQuery 事件而不是回调。你只需要使用jQuery.bind。大多数回调都有相应的 jQuery 事件,这些事件从 4.3.2 版本开始存在于 jqGrid 中。使用 jQuery 事件的最大区别是添加了额外的第一个参数,在我们的例子中它给你的信息不多。您可以使用例如

$("#gridtable").bind("jqGridAddEditBeforeShowForm", function (e, $form, oper) {
    alert("In jqGridAddEditBeforeShowForm");
});

通过这种方式,您可以转换在使用 jQuery 事件时会发现的大多数其他解决方案。

于 2015-06-12T15:27:52.097 回答