如何在JQGrid的行编辑中禁用某些单元格的编辑?

时间:2011-10-11 09:01:26

标签: javascript jqgrid

当我点击网格的任何一行时,所有可编辑列都可以编辑。

我希望某些列可以分别在每行上进行编辑。

                 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  

先谢谢

2 个答案:

答案 0 :(得分:11)

如果您使用inline editing mode并想要动态决定 该行的哪些单元格可以编辑,例如根据单元格的包含,您可以按照我描述的方式执行此操作here。您也可以使用其他方法执行此操作:

$(this).jqGrid('setColProp', 'YouColumnName', {editable:false});

因此,您应该在调用editRow方法之前将editable设置为falsetrue 。在这种方式中,您可以实现任何您想要的逻辑。

更新: 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;

干杯:)