如何动态地将自定义渲染添加到extjs树中的树节点?

时间:2014-11-26 17:20:32

标签: extjs extjs4

当我选择它时,我想动态地向树中的节点添加一些自定义渲染(可能是边框,可能会有一些颜色变化)。

我试过了:

itemclick: function(dv, record, item, index, e) {

   item.renderer = function(value, record){
      return Ext.String.format('<div class="tree-font">{0}</div>', value);
   }
}

但它似乎不起作用。

我还希望渲染器能够添加(或链接)。我已经在已经像图标的节点上渲染,因此新的渲染器应该与另一个补充。不确定extjs是否可以这样做?

2 个答案:

答案 0 :(得分:1)

为什么你不能在css的帮助下实现这一目标,当我们选择一行时,Extjs会添加&#39; x-grid-row-selected&#39;到了tr。

css:

.x-grid-row-selected .x-grid-cell-inner {
    background: gray !important
}

如果您的网格选择模型为cellmodel,那么您可以使用css来执行您想要的操作:

.x-grid-cell-selected .x-grid-cell-inner {
    bacground: red !important
}

答案 1 :(得分:1)

试试这个

listeners: {
    itemclick: function(dv, record, item, index, e) {
        item.style.color="RED"; 
        //or use classList
        item.classList.add("tree-font");
    }
}