jqgrid中的两种不同编辑形式

jqgrid中的两种不同编辑形式,jqgrid,Jqgrid,有没有办法在jqGrid中实现两种不同的编辑表单。我的意思是一个普通的编辑表单,另一个表单字段小得多(定制)。都在同一个导航网格中。说edit和editpartial。谁能给我点光吗??非常感谢。由navGrid添加的按钮“添加”和“编辑”调用这两种方法,使用不同的参数作为第二个参数(属性参数)。如果使用被称为 $(“#网格”).jqGrid(“navGrid”,“#pager”,“parameters},prmEdit,prmAdd); 然后navGrid调用 $(“#网格”).jqGrid

有没有办法在jqGrid中实现两种不同的编辑表单。我的意思是一个普通的编辑表单,另一个表单字段小得多(定制)。都在同一个导航网格中。说edit和editpartial。谁能给我点光吗??非常感谢。

navGrid
添加的按钮“添加”和“编辑”调用这两种方法,使用不同的参数作为第二个参数(
属性
参数)。如果使用被称为

$(“#网格”).jqGrid(“navGrid”,“#pager”,“parameters},prmEdit,prmAdd);
然后
navGrid
调用

$(“#网格”).jqGrid(“editGridRow”,rowid,prmEdit);
如果用户单击“编辑”按钮并调用

$(“#网格”).jqGrid(“editGridRow”,rowid,prmAdd);
如果用户单击“添加”按钮

同样,您可以在方法方面向导航器添加新的自定义按钮。比如说

$(“#网格”).jqGrid(“navbuttonad”,“#pager”{
标题:“/*”我的编辑“*/,
按钮图标:“ui图标注释”//一些图标
标题:“我的编辑”,
onClickButton:function(){
var$self=$(本);
$self.jqGrid(“editGridRow”,
$self.jqGrid(“getGridParam”、“selrow”),
{//一些选项
重新创建表单:true
}
);
}
});
以添加一个或多个编辑按钮的方式。现在您只需要在调用
editGridRow
之前临时更改某些列的
editable
属性,并在调用
editGridRow
之后将其重置为原始值。你可以用这种方法来简化工作。例如,如果要使myColumn可编辑,可以使用

$(“#网格”).jqGrid(“navbuttonad”,“#pager”{
标题:“/*”我的编辑“*/,
按钮图标:“ui图标注释”//一些图标
标题:“我的编辑”,
onClickButton:function(){
var$self=$(本);
//使“myColumn”临时可编辑
$self.jqGrid(“setColProp”,“myColumn”,{editable:true});
$self.jqGrid(“editGridRow”,
$self.jqGrid(“getGridParam”、“selrow”),
{//一些选项
重新创建表单:true
}
);
//使“myColumn”返回为不可编辑
$self.jqGrid(“setColProp”,“myColumn”,{editable:false});
}
});
我想强调的是,对于
editGridRow
(包括
navGrid
)的所有用法,使用
recreateForm:true
选项是非常重要的。因此,我建议您只需更改选项的默认值:

$.extend($.jgrid.edit,{recreateForm:true});

Wow。。这正是我需要的。。非常感谢你,奥列格。您对jqGrid的贡献是非常棒的。(我从你们的演示和回答中学到了很多jqGrid)。@AbdulWahab:不客气!我很高兴我以前的回答也能帮助你。我还有两个疑问??1。在提交2之前,我可以在何处添加事件。如何将不同的url传递给submit@AbdulWahab当前位置我不确定我是否正确理解你。你的意思是单击Submit(提交)?如果您直接调用
editGridRow
,您可以将
url
用作:
$(this).jqGrid(“editGridRow”,rowid,{recreateForm:true,url:“someUrl”,onclickSubmit:function(options,postData){return{myParam:“blablabla”};}})
。您可以访问
onclickSubmit
中的
options.url
,并根据需要进行更改。