如何在树形表素中显示父级和子级(两个不同的对象)? [英] How to display Parent and Child ( two different objects ) in treetable primefaces?

查看:131
本文介绍了如何在树形表素中显示父级和子级(两个不同的对象)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Treetable组件显示父对象和子对象.我可以使用本教程来显示父级内容.

I am using Treetable component to display parent and child objects. I can able to display the parent content by using this tutorial.

就我而言,我正在使用两个不同的对象来显示TreeTable组件中的内容.这些对象在后面.

In my case, I am using two different objects to display the contents in the TreeTable component. Those objects are following.

  1. 大学详情-这是我的父对象.它包含(每所大学的ID和名称)以及子学院.
  2. 学院详细信息-这是我的子对象.它包含每个学院的(ID和名称).
  1. University Detail - It is my parent Object. It contains (Id and Name of each university) as well as child colleges.
  2. College Detail - It is my child Object. It contains (Id and Name) of each college.


大学详细课程

public class UniversityDetail implements Serializable {

    /**
     * serialVersionUID -   
     */
    private static final long serialVersionUID = 1L;
    /**
     * UniversityId -   
     */
    private Integer UniversityId;
    /**
     * UniversityName   -   
     */
    private String UniversityName;
    /**
     * CollegeDetail    -
     */
    private List<CollegeDetail> CollegeDetail   =   new ArrayList<CollegeDetail>();

    public Integer getUniversityId() {
        return UniversityId;
    }

    public void setUniversityId(Integer UniversityId) {
        this.UniversityId = UniversityId;
    }

    public String getUniversityName() {
        return UniversityName;
    }

    public void setUniversityName(String UniversityName) {
        this.UniversityName = UniversityName;
    }

    public List<CollegeDetail> getCollegeDetail() {
        return CollegeDetail;
    }

    public void setCollegeDetail(
            List<CollegeDetail> collegeDetail) {
        this.CollegeDetail = collegeDetail;
    }

}

学院详细信息

public class CollegeDetail implements Serializable{

    /**
     * CollegeId    -   
     */
    private Integer CollegeId;
    /**
     * CollegeName  -
     */
    private String CollegeName;

    public Integer getCollegeId() {
        return CollegeId;
    }

    public void setCollegeId(Integer CollegeId) {
        this.CollegeId = CollegeId;
    }

    public String getCollegeName() {
        return CollegeName;
    }

    public void setCollegeName(String CollegeName) {
        this.CollegeName = CollegeName;
    }

}


如何使用treetable组件显示这些详细信息类?我不知道如何迭代子元素(学院详细信息)

我有以下xhtml代码显示父级和子级.我可以渲染父级细节.但是我无法呈现子类的详细信息.非常感谢您的帮助.

I have the following xhtml code to display the parent and child. I could render the parent detail. But I am failing to render the child class detail. Any help is much appreciated.

<p:treeTable value="#{ManagedBean.root}" var="object" id="multiSelect"  
             selection="#{ManagedBean.selectedNodes}" selectionMode="checkbox">  

    <f:facet name="header">  
        College Dropdown  
    </f:facet>  

    <p:column style="width:100px">  
        <f:facet name="header">  
            University Name  
        </f:facet>  
        <h:outputText value="#{object.universityName}" />  
    </p:column>  

    <p:column style="display:none">  
        <f:facet name="header">  
            University ID
        </f:facet>  
        <h:outputText value="#{object.universityId}" />  
    </p:column>  

</p:treeTable>


ManagedBean

RootTree = new CheckboxTreeNode("Root", null);
for(int i =0 ; i<CompanyDetail.size();i++) {
UniversityDetail universityDetail   = UniversityDetail.get(i);
    List<CollegeDetail> collegeDetail   =   universityDetail.getCollegeDetail();
    TreeNode parent = new CheckboxTreeNode(universityDetail,RootTree);
    for(int j=0; j<collegeDetail.size();j++) {
    TreeNode child = new CheckboxTreeNode(collegeDetail.get(j).getCollegeName(),collegeDetail.get(j), parent);                  
   }

推荐答案

您的XHTML页面与back bean不同. 但是在您的情况下,您可以创建另一个仅具有那些需要显示的属性的Class.并使用该类显示在XHTML页面上. 让我们知道是否行得通.

Your XHTML page is different form back bean. But in your case you can make another Class which have only those properties which is needs to be display. and use that class to be display on XHTML pages. lets us know if not work.

这篇关于如何在树形表素中显示父级和子级(两个不同的对象)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆