2012-05-22 2 views
0

У меня есть сетка с checkboxcolumn, все работает нормально, но я хотел бы показывать только этот флажок, если другое поле имеет определенное значение. Я работаю с версией 3.3.1, но думаю, что пример из другой версии заставил бы меня начать. Если это невозможно, отключить этот флажок также будет хорошо. Должен ли я сделать это в рендерере или слушателе и как?Extjs: показывать только флажок, когда другое поле имеет значение

var checkColumn = new Ext.grid.CheckColumn({ 
header: 'Checklist OK ?', 
dataIndex: 'checklist_ok', 
width: 20, 
align: 'center' 
}); 

cmDiverse = new Ext.grid.ColumnModel({ 
defaults: {"sortable": true, "menuDisabled":false, "align":"right"}, 
store: storeDiverse, 
columns: [ 
    {"id":"id", "header": "id", "hidden": true, "dataIndex": "id", "width": 20}, 
    checkColumn, 
    ... 

gridDiverse = new Ext.ux.grid.livegrid.EditorGridPanel({ 
    id    : "gridDiverse", 
    enableDragDrop : false, 
    loadMask  : true, 
    clicksToEdit : 1, 
    layout   :'anchor', 
    cm    : cmDiverse, 
    .... 
+0

вам нужно переключать между показом и не показывать столбец во время выполнения? – AMember

+0

Нет, столбец виден, но некоторые записи нуждаются в флажке, другие - не – peter

ответ

1

Найдено это сам, добавил следующее рендерер checkColumn

renderer : function(v, p, record){ 
    var type3m = record.get('type3m'); 
    if ((['6M','11e']).indexOf(String(type3m)) != -1){ //if the field type3m contains certain values 
    p.css += ' x-grid3-check-col-td'; 
    return '<div class="x-grid3-check-col'+(v?'-on':'')+' x-grid3-cc-'+this.id+'"> </div>'; 
    } 
} 
1

Вы можете расширить свои Ext.ux.grid.livegrid.EditorGridPanel так:

Ext.extend(Ext.ux.grid.livegrid.EditorGridPanel,{ 
    constructor:function(config){ 
     config = Ext.apply({ 
      cm: this.createColumnModel() 
     },config); 
    }, 
    createColumnModel: function(){ 
     PUT YOUR LOGIC HERE AND RETURN AN ARRAY OF COLUMNS... 
    } 
}) 
+0

спасибо, но как это будет отображаться или скрывать флажок для определенных записей? Я предполагаю, что ваш подход будет работать для показа или скрытия всей колонки. – peter

Смежные вопросы