Создать Extjs 4 grid actioncolumn с текстом?

Как создать столбец действия сетки ExtJs 4 с текстом? это мой код

{
    xtype : 'actioncolumn',
    text : lang('publish'),
    width    : 100,
    tdCls: 'x-publish-cell',
    items : [{
         getClass : function(v, meta, rec) {
             if (rec.get('isPublished') == true) {
                 //this.items[0].tooltip = 'Test';
                 return 'y';
             } else {
                 return 'n';
             }
         }
     }

Как создать столбец действия сетки ExtJs 4 с текстом?

1 ответов


вы можете использовать колонки renderer. Хитрость в том, что Ext специально скрывает правило CSS, чтобы скрыть содержимое столбцов действий:

.x-grid-cell-inner-action-col {
    line-height: 0;
    font-size: 0;
}

так что вам придется компенсировать это.

пример:

{
    xtype:'actioncolumn',
    renderer: function() {
        return 
            '<div style="float:right; font-size: 13px; line-height: 1em;">'
                + 'Hey!' 
            + '</div>'
    },
    items: [
        // ...
    ]
}

здесь я использовал встроенный стиль, но пользовательский класс CSS, вероятно, был бы лучше.

теперь это позволяет добавить текст в столбец. Если то, что вы хотите достичь, это добавить текст за действие пункта в столбце вам придется переопределить Ext.grid.column.Action#defaultRenderer.