编辑模式下的jqGrid单元格仅用于内联添加

编辑模式下的jqGrid单元格仅用于内联添加,jqgrid,mvcjqgrid,Jqgrid,Mvcjqgrid,如何使一列仅在其位于新行时才可编辑?在编辑模式下,此列在现有行中必须为只读 “可编辑”属性适用于新行和现有行。您使用的编辑类型是什么? 表单编辑还是内联编辑 如果是表单编辑,则可以使用beforeShowForm事件从编辑表单中隐藏不可编辑的字段 beforeShowForm:function(formid) { id="#tr_"+columnName(as given in column model); $(id, form).hide(); } 您需要使用相同的事件使隐藏字段在add

如何使一列仅在其位于新行时才可编辑?在编辑模式下,此列在现有行中必须为只读


“可编辑”属性适用于新行和现有行。

您使用的编辑类型是什么? 表单编辑还是内联编辑

如果是表单编辑,则可以使用beforeShowForm事件从编辑表单中隐藏不可编辑的字段

beforeShowForm:function(formid)
{
 id="#tr_"+columnName(as given in column model);
 $(id, form).hide();
}
您需要使用相同的事件使隐藏字段在add表单中再次可见

beforeShowForm:function(formid)
 {
  id="#tr_"+columnName(as given in column model);
  $(id, form).show();
 }
如果在调用editRow之前是内联编辑,请将editable标志设置为false

$('#gridId').jqGrid('setColProp',columnName,{editable: false}); 
在editRow结束后,将editable标志重置为true,以使新添加的行可编辑

$('#gridId').jqGrid('setColProp',columnName,{editable: true}); 

希望对您有所帮助….

有一个参数可以禁用编辑,只启用添加。jqGrid('InlineAv',pagerid,{edit:false,add:true})用户可以编辑,但只能对某些行进行编辑。我使用的是内联编辑,但是,用户可以同时编辑和添加新行,这样我就不能对整个网格禁用列编辑。不要在列模型中设置可编辑标志。在调用addRow方法set$('#gridId').jqGrid('setColProp',columnName,{editable:true})之前;在调用editRow方法set$('#gridId').jqGrid('setColProp',columnName,{editable:false})之前;我不会在每次更改时都保存每一行,用户可以更改几行(或全部),并在提交之前添加一组行。如果我使用setColProp,那么所有行都将使该列在这些事件上可编辑或只读。因此,区分添加和编辑操作是一个问题。可以通过向rowdata添加新元素来实现。rowdata=(“#gridid”).jqGrid('getRowData',rowid);如果是添加操作,则设置rowdata.opflag='add';或者将其设置为“编辑”。在将行发送到编辑模式(onSetRow或ondoubleclick)之前读取此标志,并根据该标志设置相应列的可编辑属性true或false。