6

如何使用文本创建 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 网格操作列?

4

1 回答 1

13

您可以使用列的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.

于 2013-07-26T12:35:50.237 回答