当前位置: 首页 > 知识库问答 >
问题:

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

岳茂
2023-03-14

我希望在选择树中的某个节点时,动态地向该节点添加一些自定义渲染(可能是一个边框,也可能是一些颜色更改)。

我试过这个:

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个答案

湛鸿雪
2023-03-14

为什么不借助css实现这一点呢?当我们选择一行时,Extjs会将“x-grid-row-selected”添加到tr中。

CSS:

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

如果你的网格有选择模型作为细胞模型,那么你可以使用css做你想做的:

.x-grid-cell-selected .x-grid-cell-inner {
    bacground: red !important
}
姚树
2023-03-14

试试这个

listeners: {
    itemclick: function(dv, record, item, index, e) {
        item.style.color="RED"; 
        //or use classList
        item.classList.add("tree-font");
    }
}
 类似资料:
  • 扩展Ext.form.field.Picker我正在创建一个自定义组件。它非常类似于日期选择器,但我用复选框展开了一棵树,而不是日历。当选中一个节点时,我必须用节点的文本手动设置textfield的值。我的问题是,如何向textfield添加/删除节点?为了补充,我正在做类似的事情 但是有没有更好的方法将树选择添加到文本字段? 更重要的是,我如何删除一个值,比如value2 文本字段:值1、值2、

  • 我有网格面板。我想将树面板添加到该网格面板中的列中。 网格面板 树商店 例如,如果我想把这个树存储在下,也就是说,当我们点击Lisa时,树会扩展。我们怎么能做到呢。 谢谢你。

  • 我正在用python处理树,这就是我试图解决的问题。 我所有的节点都有列表。对于每个父母,通过一次删除一个元素,从父母列表中提取孩子的列表。 假设node1是列表1[1,2,3],我希望node1有3个子项(在本例中),其中每个子项都是通过每次删除一个项从列表1中提取的列表。所以node2=[2,3]node3=[1,3]和node4=[1,2] 我正在使用anytree库,但在复杂节点上找不到足

  • 我正在做一个项目,以创建一个超过2个子节点的树。我明白在创建二叉树时,我们可以只创建一个左节点和一个右节点来充当子节点,但当我在网上寻找创建树的帮助时,我找到的每一个解决方案都谈到了创建二叉树。我明白创建树的部分意味着您需要创建子节点数组或arraylist,但我不明白如何将数据放入数组,或者如何将子节点数组“连接”到父节点? 这是我目前掌握的代码。我知道这不是很多,但我正在努力刚刚开始这个项目。

  • 我有以下代码: 要添加到这里! 我想在Ext.tree.Panel中添加列“customspinner”,但我得到了未捕获的TypeError:Object[Object Object]没有方法“setSortState”。发生了什么?我终于需要这样的东西了

  • 我想做一个简单的2D游戏。现在,我想做的所有事情都是显示我的精灵表中的单个精灵(播放器)。因此,我的主类扩展了,我想在上面展示一个舞台和一个播放器。 玩家类包含一个数组,其中包含我从精灵表中获得的单个精灵,方法为。为了在舞台上显示某些内容,您需要一个场景来容纳要显示的对象的或。因此,我尝试将我的播放器添加到场景中,方法是将其附加到StackPane中,称为的实体。这是行不通的。 我不太熟悉使用阶段