大家好!我想请问下有没有童鞋知道怎样锁定EditorGridPanel表格单元格的编辑功能:
Extjs版本:3.2.1
具体描述:
表格第一列(其它列也行)为类型选择列,采用ComboBox为编辑器,当选择某一类型(如:类型1)时表格当前行的某些列(如:第2列~第4列)就变为不可编辑状态,并显示不同的样式(类似于button的disable)。
当选择其它类型(如:类型2)时表格当前行的不可编辑单元格又变成可编辑的。如下图:
我的实现思路:
当选择某一行的类型时,对其中不可编辑列进行锁定,并更新其显示样式:grid.getColumnModel().setEditable(2,false);但这样实现起来比较麻烦,有没有更好的方法,求解!
是否可编辑样式可以在列模型的renderer中操作
renderer : function(data, meta){
if(xxx){
meta.css += " x-item-disabled";
}
}
是否可编辑逻辑可以在grid的beforeedit事件中拦截判断
grid.on("beforeedit", function(e){
/*
e = {
grid: this,
record: r,
field: field,
value: r.data[field],
row: row,
column: col,
cancel:false
};
*/
if(xxx){
return false; // 中止,不让编辑
}
});