所以我有一个ExtJs 4 Grid Panel
有两列的。
第一列是ComboBox
带有自定义渲染器的
Ext.ux.comboBoxRenderer = function(combo) {
return function(value) {
var idx = combo.store.find(combo.valueField, value);
var rec = combo.store.getAt(idx);
return (rec == null ? '<img src="/js/extjs4/resources/themes/images/default/grid/loading.gif" />' : rec.get(combo.displayField) );
};
}
第二列是数字列
{
allowBlank: false,
header: 'Time',
dataIndex: 'tedPaidTime',
align: 'right',
field: {
xtype: 'numberfield',
allowBlank: false,
minValue: 0,
maxValue: 100000
},
flex: 0.20,
selectOnFocus:true
}
现在,当我加载时DataStore
,我希望FIRST列是只读的。如果我设置ReadOnly
标志,这很容易。
但是,我有一个按钮,可以添加一条新记录来存储,并且我希望该新记录没有只读标志。
所以基本上,一旦你改变第一列并保存,你就不能改变它。只能在保存新记录之前更改它们。
这里的业务规则要求他们删除不正确的旧记录。
谢谢。