Primefaces 什么是p:treeTable';s rowKey和TreeNode.rowKey代表什么?
两者几乎都没有文档记录(大部分信息可以在我查看的用户指南中找到) 该属性记录为 RowKey应该是数据模型中的唯一标识符,由datatable用于查找所选的 排。您可以使用rowKey属性或绑定数据模型来定义此键 它实现了org.primefaces.model.SelectableDataModel 我不明白的是:Primefaces 什么是p:treeTable';s rowKey和TreeNode.rowKey代表什么?,primefaces,Primefaces,两者几乎都没有文档记录(大部分信息可以在我查看的用户指南中找到) 该属性记录为 RowKey应该是数据模型中的唯一标识符,由datatable用于查找所选的 排。您可以使用rowKey属性或绑定数据模型来定义此键 它实现了org.primefaces.model.SelectableDataModel 我不明白的是: 在p:dataTable上有一个rowKey属性,而不是在p:treeTable上,但是用于构造树表的root的TreeNode具有rowKey属性 然后,在org.primef
- 在
上有一个p:dataTable
属性,而不是在rowKey
上,但是用于构造树表的p:treeTable
的root
具有rowKey属性TreeNode
- 然后,在
上还有另一个属性org.primefaces.component.api.UITree
rowKey
- 对于JSF中指定的值和
- 一旦选择来自
String selection=params.get(clientId+“_selection”)编码>在
中作为逗号分隔的选定行列表TreeRenderer.decodeSelection
- 当
被设置为对象的hashCode(唯一性得到保证)时,它似乎被用作数组访问的索引,数组访问可预测地以TreeNode.rowKey
java.lang.ArrayIndexOutOfBoundsException: -307459552 at java.util.ArrayList.elementData(ArrayList.java:422) at java.util.ArrayList.get(ArrayList.java:435) at org.primefaces.component.api.UITree.findTreeNode(UITree.java:245) at org.primefaces.component.api.UITree.setRowKey(UITree.java:116) at org.primefaces.component.treetable.TreeTableRenderer.encodeNode(TreeTableRenderer.java:525)
可能与误解有关,这取决于上述文档是否也适用于SelectableDataModel
TreeNode.rowKey
- 我又读了一遍你的问题,我觉得你把事情搞混了(如果我错了,请纠正我)
首先,根据我的经验和文档,我没有看到在
p:treeTable
中使用SelectableDataModel,也没有定义rowKey属性(选中6.1和6.2文档)。您在问题中发布的关于定义的引用来自p:dataTable
无需在UITree的任何位置使用rowKey属性。它由组件内部设置,并使用渲染时间将
数据行键
属性放置在各个节点上。此属性的值将在选择步骤中再次使用。节点的数据rowkey值被发送到服务器,并在那里进行解码以在服务器端树中找到相应的节点。模型的嵌套/层次结构以rowkey的值进行编码。例如,0_2_1是根节点(0),然后是它的第三个子节点(2)和第二个子节点(1),其中_是分隔符。因此,当您开始手动设置时,整个概念都会崩溃,导致您在问题中发布的错误。我再次阅读了您的问题,我得到的印象是您在混淆问题(如果我错了,请纠正我)
首先,根据我的经验和文档,我没有看到在p:treeTable
中使用SelectableDataModel,也没有定义rowKey属性(选中6.1和6.2文档)。您在问题中发布的关于定义的引用来自p:dataTable
无需在UITree的任何位置使用rowKey属性。它由组件内部设置,并使用渲染时间将
数据行键
属性放置在各个节点上。此属性的值将在选择步骤中再次使用。节点的数据rowkey值被发送到服务器,并在那里进行解码以在服务器端树中找到相应的节点。模型的嵌套/层次结构以rowkey的值进行编码。例如,0_2_1是根节点(0),然后是它的第三个子节点(2)和第二个子节点(1),其中_是分隔符。因此,当您开始手动设置此选项时,整个概念都会发生故障,导致您在问题中发布的错误。开发人员似乎系统性地拒绝了对文档的增强请求。请张贴证实的参考资料。。。我对这些很好奇,也许我能帮上忙。对于SelectableDataModel,我很难理解您到底不了解什么。在那之后你所描述的正是它所做的。它有助于选择行。划船(为datatable中的行设置一个键,在浏览器中设置一个view source,您将在datatable源上看到一个data rowkey属性。它在某种程度上做了转换器为其他组件所做的事情。@Kukeltje的评论读起来好像一般没有兴趣改进文档,除非提供了PRs,这远远超过了from理想。我扩展了使我困惑的rowKey
属性的用例,并添加了该属性的第三个用法(现在作为数组索引),这在很大程度上增加了我的困惑。也许你可以解释一下:)关于您发布的关于文档的一个示例,我必须同意Thomas Andrasko的观点。我个人没有错过这个“问题”中要求的内容。如果为一个事件完成,那么应该为所有事件完成。IDE中的代码完成以及文档中已有的内容应该足够了(我没有听到(m)任何其他人提到这一点。因此,他们说:“如果有人提供,我们愿意对文档进行更改/添加,但我们认为没有必要,我们会将时间花在其他问题上。”如果您查看发行列表,您将看到文档的增强请求似乎被开发人员系统性地拒绝。请发布经证实的参考资料…我对这些很好奇,也许我可以帮忙。我很难理解您对SelectableDataModel到底有什么不了解。之后您会描述什么这正是它所做的。它有助于选择行。rowkey(数据表中的行的键,请执行查看)