gpt4 book ai didi

tree - Vaadin - 在树中添加重复项

转载 作者:行者123 更新时间:2023-12-05 01:05:57 25 4
gpt4 key购买 nike

我正在 Vaadin 7 中做一个项目。在那个项目中,我需要在树中添加一个重复的项目。

我需要一棵这样的树,

+ Person A
Name
Age
+ Person B
Name
Age

但是,Vaadin Tree 组件没有在树中添加 Duplicate 项。看起来它正在覆盖之前的项目。

在Vaadin中有没有可能像上面这样的树?我使用分层容器。

更新

    Object a = "a";
Object b = "b";
Object c = "c";
Object d = "d";
Object e = "a";
Object alphabet = "alphabet";

HierarchicalContainer aHC = new HierarchicalContainer();
aHC.addItem(a);
aHC.addItem(b);
aHC.addItem(c);
aHC.addItem(d);
aHC.addItem(e);
aHC.addItem(alphabet);
aHC.setParent(a, alphabet);
aHC.setParent(b, alphabet);
aHC.setParent(c, alphabet);
aHC.setParent(d, alphabet);
aHC.setParent(e, alphabet);

Tree tree = new Tree();
tree.setContainerDataSource(aHC);

因为对象 a 和 e 与 'a' 具有相同的值。树只是跳过或替换它。

动态代码

String[] items = {"alphabet", "a", "b", "c", "d", "a"};
for(String item : items) {
Object itemId = tree.addItem();
tree.setItemCaption(itemId, item);
}

现在如何将字母设置为所有其他项的父项?

最佳答案

问题是 a.equals(e) == true。所以分层容器不会添加它两次。

你可以做两件事:

1)

Object itemId = select.addItem();
select.setItemCaption(itemId, "The Sun");

更多信息here .

2) 使用实现例如 toString() 的 POJO 对象并在那里设置您的项目标题或使用另一种项目标题模式 select.setItemCaptionMode(Select.ITEM_CAPTION_MODE_XYZ);

更多信息here

根据您的编辑:添加子项目后:

tree.setParent(itemChildId, itemAlphabetId);

参见示例 here .

关于tree - Vaadin - 在树中添加重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17674163/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com