- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Primefaces TreeTable 节点似乎以相反的方式工作。
您创建一个父级,然后创建一个子级,而不是告诉子级它属于哪个父级。 parent 应该了解自己的 child ,而不是相反。
所以...我的问题是:
我需要从我的数据库中加载未定义数量的数据(祖 parent 、 parent 、子女和孙子女)。
如何动态地将它们加载到 TreeTable 中?我想不出在我的 for-each 中创建 TreeNode 并设置它的父节点的方法。
任何人都可以给我和想法吗?
最佳答案
我还没有测试过这个解决方案,但我认为它应该可行。 primefaces 展示中的示例都是硬编码的。要使其动态化,您必须使用数组。
因此,例如下面的硬编码代码部分:
TreeNode documents = new DefaultTreeNode(new Document("Documents", "-", "Folder"), root);
TreeNode pictures = new DefaultTreeNode(new Document("Pictures", "-", "Folder"), root);
TreeNode music = new DefaultTreeNode(new Document("Music", "-", "Folder"), root);
可以替换为:
Map<String, TreeNode> rootNodes = new HashMap<String, TreeNode>();
//Retrieve the list of root Nodes. eg Tables in the database.
for(Table table : databaseTables){
//table.getTableName() will be the name of the node, it could be something like "music" or "documents"
rootNodes.add(table.getTableName(), new DefaultTreeNode(table.getTableName(), new Document......, root);
}
我之所以将它们添加到 map 中,是为了如果你想引用它们,你可以使用键作为引用。现在如果你想将节点添加到图片节点,例如
//Create a new map
Map<String, TreeNode> pictureNodes = new HashMap<String, TreeNode>();
//now loop through your picture objects
for(picture : pictures){
pictureNode.add(new DefaultTreeNode(picture.getName(), ......., root.get("pictures"));
}
使用此方法,您可以递归循环遍历尽可能多的层次结构。我无法测试此代码(只是 Notepad++ ),因为我目前在办公室。但请尝试一下,如果您仍然遇到困难,我可以在几个小时后回家后做一些更详细的事情。
关于java - 从数据库中加载内容到 TreeTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12263880/
场景:在代码 html 文件中考虑以下内容: jQuery treetable
如何将 TreeTable 第一列中的树列移动到表的第二列?当我尝试将第 1 列移动到第 2 列时,仅移动内容(而不是树结构)。 有人知道吗? 最佳答案 这将三角形放在第二列中: treeTable.
我正在使用最新稳定版本的 Angular (6.0.9) 和 PrimeNG (6.0.1)。当我尝试以编程方式将子节点添加到选定节点时,除非我折叠然后展开选定的父节点,否则它不会显示。首先我尝试了
我正在使用 jquery treetable 插件将我的数据显示为表中的 TreeView 。我在网上找不到有关此插件的详细文档。我需要的是,如果用户展开总和节点,然后重新打开或刷新页面,则节点展开应
我使用 TreeTable。单击按钮时,我想展开项目并选择父项目内的项目之一。但我也想滚动到所选项目。如果项目可见(所有父项目都已展开),则一切正常。但是,如果它一开始不可见(一些父项已折叠),则滚动
Primefaces TreeTable 节点似乎以相反的方式工作。 您创建一个父级,然后创建一个子级,而不是告诉子级它属于哪个父级。 parent 应该了解自己的 child ,而不是相反。 所以.
我正在使用 Ludo's great TreeTable plugin ,但我正在尝试弄清楚如何制作“可调整大小的列”——这意味着用户可以捕获表头/行中的边框,然后移动它们以改变列的大小。 我发现了一
我有以下问题: 我想要一个类似 JTeeTable 的表组件,除了根(下面的类)和树的节点不是同一类型。 例如,假设我有以下类: public final class Entry { priv
假设我有一个由 PrimeNg 为 Angular2 提供的 TreeTable。如何在代码中扩展特定节点(例如在 onNodeSelect 回调中)? 最佳答案 我想 OP 不再需要答案,但是对于到
我在 TreeTable 的同一列中添加许多对象类型时遇到问题。创建TreeNodes的方法如下: TreeNode taskProject = new DefaultTreeNode("node",
有没有办法禁用 Vaadins TreeTable 组件中所选项目的蓝色突出显示(主要是树节点)?我使用一个标志来选择哪些项目不应该突出显示。我已经为此工作了几天,但似乎没有任何效果按预期进行。提前致
我想修改 ludo 中的 jquery.TreeTable.js 以使用 cell.find 方法来设置展开。 原始来源如下: if(options.expandable) { cell.
我创建了一个具有一个 xml View 的案例。这个 View 包含一个有两列的树表
我有一个 SAPUI5 TreeTable 用于过滤类别。我想要的是,当选择父类别时,应选择所有子类别,而当取消选择父类别时,应取消选择其子类别,无论它们是否折叠。问题是我不能使用索引,因为显然它们因
在我的 Vaadin 7 项目中,我需要在排序时忽略树表的父节点(行)。我可以使用 ItemSort 自定义排序,但我不知道如何跳过父节点! 仅供引用:我能够通过 ItemId 识别我的父节点。 **
我正在尝试从我正在解析的属性文件创建一个树表,但我不断收到以下代码的错误“无法实例化类”。我不确定为什么它会抛出这个异常。 for(Map.Entry prop : props.entrySet())
我正在尝试使用JavaFX,并尝试在树表中添加一个复选框项目,但看起来它只支持简单的树项目。 我的代码是Oracle's TreeTableView Example的修改版本: public cla
由于 Vaadin Tree 不支持延迟加载,我想使用 TreeTable。 TreeTable 应该看起来像普通的树,没有标题和斑马行样式。 这是我到目前为止得到的: TreeTable mainT
问题是: 当我在运行时添加行时,我试图使 TreeTable 中的节点保持展开状态。 TreeTable 的默认行为是,当它发生某些事情时,它会再次呈现并折叠所有节点。 API 只提供了保持第一级扩展
尝试在 TreeTable 中使用 rowIndex。使用 DataTable rowIndex 工作正常,但使用 TreeTable rowIndex 是未定义的。 Basic
我是一名优秀的程序员,十分优秀!