0
我在使用beforeCheckChange
侦听器对checkColumn
进行了extjs网格单元格编辑。在extjs网格单元格编辑中使用beforecheckchange侦听器获取单元格ID
一旦取消选中,我想删除此单元格的脏标志。所以我试图删除"x-grid-dirty-cell"
Cls,使用单元格div
id。
Ext.select("ext-gen2654").removeCls('x-grid-dirty-cell');
以下是听者
listeners: {
beforecheckchange: me.onCheckcolumnBeforeCheckChange
}
onCheckcolumnBeforeCheckChange: function(comp, rowIndex, checked, eOpts) {
Ext.select("ext-gen2654").removeCls('x-grid-dirty-cell');
}
如何获得div
ID为仅此电池?
让我知道如果我们有任何其他选项可以在取消选中后删除脏记录。
Edited-显示复选框替代记录
Ext.getCmp('grid').gridColumns[0]= {
xtype: 'checkcolumn',
dataIndex: 'SELECT',
width: 55,
stopSelection: true,
renderer: function(value, metaData, record, rowIndex, colIndex, store, view) {
if(row%2==0){ // i need to display alternative checkbox
var cssPrefix = Ext.baseCSSPrefix,
cls = cssPrefix + 'grid-checkcolumn';
if (this.disabled || value == 'N') {
metaData.tdCls += ' ' + this.disabledCls;
}
if (!value) {
cls += ' ' + cssPrefix + 'grid-checkcolumn-checked';
}
return '<img class="' + cls + '" src="' + Ext.BLANK_IMAGE_URL + '"/>';
}
}
,
try listener code to remove dirty mark, but no luck
onCheckcolumnBeforeCheckChange: function(comp, rowIndex, checked, eOpts) {
var store=Ext.getCmp('grid').getStore();
var record= store.getAt(rowIndex);
if(checked==true){
record.dirty= false;
record.commit();
store.commitChanges();
}
感谢您的详细信息。基本上我不想禁用此列的脏标记。我正在使用checkcolumn显示复选框。当我检查checobox它显示脏标记,但是当我取消选中时,它仍然显示脏标记。所以当我试图手动删除脏标记时,我不选中它。 – Raje
然后你的输入数据有问题。请尝试将模型的字段标记为“type:'boolean''和/或添加'defaultValue:false'。 – Alexander
我已将我的代码添加到显示复选框 – Raje