当我点击网格的任何一行时,所有可编辑列都可以编辑。
我希望某些列可以分别在每行上进行编辑。
Column 1, Column 2, Column 3
ROW Number 1 - editable, non-editable, non-editable
ROW Number 2 - non-editable, editable, non-editable
ROW Number 3 - editable, non-editable, non-editable
先谢谢
答案 0 :(得分:11)
如果您使用inline editing mode并想要动态决定 该行的哪些单元格可以编辑,例如根据单元格的包含,您可以按照我描述的方式执行此操作here。您也可以使用其他方法执行此操作:
$(this).jqGrid('setColProp', 'YouColumnName', {editable:false});
因此,您应该在调用editRow方法之前将editable
设置为false
或true
。在这种方式中,您可以实现任何您想要的逻辑。
更新: Free jqGrid允许将editable
定义为回调函数。见the wiki article。它允许使列在某些行中可编辑,并对其他行保持不可编辑。
答案 1 :(得分:0)
我有类似的要求,只是扩展了他在答案中提到的Oleg:
//get colModel properties
var cm = jQuery("#grid").jqGrid('getColProp','myColumn');
//some condition to enable or disable editing
cm.editable = false;
//always call editRow after changing editable property
jQuery('#grid').jqGrid('editRow', rowId, {});
//set default editable option
cm.editable = true;
干杯:)