我正在寻找一种在 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 分配函数的示例吗?
谢谢
我自己不使用struts2。我想网格的id是"gridtable"
.我建议你使用jQuery事件而不是回调。你只需要使用jQuery.bind。大多数回调都有相应的 jQuery 事件,这些事件从 4.3.2 版本开始存在于 jqGrid 中。jQuery事件用法的最大区别是添加了额外的第一个参数,在我们的例子中,它不会给你太多的信息。例如,您可以使用
$("#gridtable").bind("jqGridAddEditBeforeShowForm", function (e, $form, oper) {
alert("In jqGridAddEditBeforeShowForm");
});
通过这种方式,您可以转换大多数其他解决方案,这些解决方案将在jQuery事件的使用中找到。