用文本创建Extjs 4网格动作列?

use*_*564 6 javascript extjs extjs4

如何用文本创建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';
             }
         }
     }
Run Code Online (Sandbox Code Playgroud)

如何使用文本创建ExtJs 4网格操作列?

rix*_*ixo 13

您可以使用列renderer.诀窍是Ext专门隐藏CSS规则以隐藏动作列的内容:

.x-grid-cell-inner-action-col {
    line-height: 0;
    font-size: 0;
}
Run Code Online (Sandbox Code Playgroud)

所以你必须弥补这一点.

例:

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

这里我使用了内联样式,但自定义CSS类可能会更好.

现在,您可以在列中添加一些文本.如果您想要实现的是在列中为每个操作项添加一些文本,则必须覆盖Ext.grid.column.Action#defaultRenderer.