我在网格中使用自定义CellEditor:
getCellEditor: function(colIndex, rowIndex) {
var field = this.getDataIndex(colIndex);
if (field == 'value') {
if ( type == 3 ) {
return this.editors['number'];
} else if ( type == 1 ) {
return this.editors['select'];
} else if ( type == 4 ) {
return this.editors['checkbox'];
}
}
return Ext.grid.ColumnModel.prototype.getCellEditor.call(this, colIndex, rowIndex);
}
},this);
type - 这是来自grid.store的record.get('type')。如何知道这个getCellEditor的类型? (我不想使用全局变量:))
答案 0 :(得分:1)
您可以使用rowIndex
参数,以便访问网格中当前行的“类型”:
grid.store.getAt(rowIndex).data.type
答案 1 :(得分:0)
您需要在字段定义中定义类型,从那里,您可以使用行索引来获取记录。
var record = store.getAt(rowIndex);
for(var i = 0; i<record.fields.length; i++) {
if(record.fields[i].name == 'Your Field') {
alert(record.fields[i].type);
}
}
这是未经测试的,但展示了如何测试记录中给定字段的类型