【发布时间】:2014-01-15 07:06:27
【问题描述】:
如何让一列只有在新行中时才可编辑?处于编辑模式时,此列在现有行中必须是只读的。
editable 属性适用于新行和现有行。
【问题讨论】:
-
有一个参数可以禁用编辑,只启用添加。 .jqGrid('inlineNav',pagerid, {edit:false, add:true})
-
用户可以编辑,但仅限于某些行。
如何让一列只有在新行中时才可编辑?处于编辑模式时,此列在现有行中必须是只读的。
editable 属性适用于新行和现有行。
【问题讨论】:
您使用的编辑类型是什么? 表单编辑还是内联编辑?
如果是表单编辑,你可以使用 beforeShowForm 事件来隐藏编辑表单中不可编辑的字段。
beforeShowForm:function(formid)
{
id="#tr_"+columnName(as given in column model);
$(id, form).hide();
}
您需要使用相同的事件再次使隐藏字段在添加表单中可见
beforeShowForm:function(formid)
{
id="#tr_"+columnName(as given in column model);
$(id, form).show();
}
如果是调用editRow之前的内联编辑,则设置editable flag为false
$('#gridId').jqGrid('setColProp',columnName,{editable: false});
并且在 editRow 结束后将可编辑标志重置为 true 以使新添加的行可编辑
$('#gridId').jqGrid('setColProp',columnName,{editable: true});
希望对你有帮助....
【讨论】: