我正在使用 struts2 和 hibernate 进行我的项目,我使用 jqgrid 进行数据显示。现在我想在editGrid窗口中为id字段设置 readonly 属性。但不适用于添加窗口。我的示例代码
<sjg:grid id="gridtable"
caption="Customer List"
dataType="json"
href="%{remoteurl}"
pager="true"
gridModel="customerList"
rowNum="10"
autowidth="true"
editurl="%{editurl}"
editinline="false"
navigator="true"
navigatorAdd="true"
navigatorAddOptions="
{
viewPagerButtons:false,
recreateForm:true,
checkOnUpdate:true,
closeAfterAdd:true
}"
navigatorDelete="true"
navigatorEdit="true"
navigatorRefresh="true"
navigatorSearch="true"
navigatorEditOptions="
{
viewPagerButtons:false,
recreateForm:true,
checkOnUpdate:true,
closeAfterEdit:true
}"
navigatorDeleteOptions="{ checkOnUpdate:true}"
navigatorViewOptions="
{
viewPagerButtons:false,
recreateForm: true,
checkOnUpdate: true
}"
navigatorSearchOptions="{sopt:['eq','ne','lt','gt','in','ni','cn','nc']}"
navigatorView="true"
rownumbers="true"
rowList="10,20,30"
viewrecords="true"
>
<sjg:gridColumn
name="id"
align="left"
key="true"
index="id"
title="Customer id"
sortable="false"
editable="true"
editrules="{
number: true,
required: true
}"
edittype="text" />
<sjg:gridColumn
name="custName"
align="left"
index="custName"
title="Customer Name"
sortable="false"
editable="true"
edittype="text" />
......
</sjg:grid>
我可以在 navigatorEditOption 中调用beforeShowForm
和afterShowForm
个函数吗?
答案 0 :(得分:0)
我不是struts2 defeloper,所以我建议可能不正确。不过,您可以尝试直接在 navigatorEditOption 中包含内联JavaScript代码:
navigatorViewOptions="
{
viewPagerButtons:false,
recreateForm: true,
checkOnUpdate: true,
beforeShowForm: function ($form) {
alert("inside of beforeShowForm function");
}
}"
它看起来接近the page文档中的代码。我希望它能奏效。
或者,您可以定义一些全局功能,例如
<script type="text/javascript">
var myBeforeShowForm = function ($form) {
alert("inside of beforeShowForm function");
};
</script>
并在 navigatorEditOption 中使用全局myBeforeShowForm
:
navigatorViewOptions="
{
viewPagerButtons:false,
recreateForm: true,
checkOnUpdate: true,
beforeShowForm: myBeforeShowForm
}"
(与the page上的datePick
函数的代码进行比较)