我在 TreeTable 的同一列中添加许多对象类型时遇到问题。创建树节点的方法如下:
TreeNode taskProject = new DefaultTreeNode("node",projet,root);
for (Tache ta : listTache) {
tache = ta;
TreeNode taskNode = new DefaultTreeNode("node", tache, taskProject);
for (Activite ac : listActivite) {
activite = ac;
Tache tac = ac.getTache();
if (tac.getId() != ta.getId()) {continue;}
TreeNode taskActivite = new DefaultTreeNode("node",activite,taskNode);
for (Phase ph : listPhases){
phase = ph;
Activite act = ph.getActivite();
if (act.getId() != ac.getId()) {continue;}
TreeNode taskPhase = new DefaultTreeNode("leaf",phase,taskActivite);
}
}
}
之后,我尝试调用 Treetable 中的对象并且它可以工作,但是当我尝试在列中添加这些对象时不起作用。部分代码如下:
<p:treeTable id="treeTable" liveResize="true"
value="#{projetMediatorController.root}" var="projetMediator">
<f:facet name="header">
<h:outputText value="#{bundle.projet}" />
</f:facet>
<!-- column for the task/activities/phases -->
<p:column>
<f:facet name="header">
<h:outputText value="#{bundle.name}" />
</f:facet>
<!-- problem -->
<h:outputText value="#{projetMediatorController.projet.nomProjet}" />
<!-- <h:outputText value="#{projetMediatorController.tache.nomTache}"/> -->
<!--<h:outputText value="#{projetMediatorController.activite.nomActivite}"/>-->
<!--<h:outputText value="#{projetMediatorController.phase.phase}"/>-->
</p:column>
</p:treeTable>
问题是在“名称”列上列出与层次结构节点相关的对象名称。
有人知道我该怎么做吗?
我很高兴你的关注。
谢谢!