0

学生クラスのリストを取得しました。学生には独自のコースのリストがあります。Hibernate Criteria API により、学生を名前で選択し、コースに参加したので、次のような構造になっています。

Student ID=1, Courses.size=2
Student ID=1, Courses.size=2
Student ID=2, Courses.size=1
Student ID=3, Courses.size=2
Student ID=3, Courses.size=2

学生は自分のコースのサイズだけ繰り返されます。これが私がやりたかったことです。しかし、Primefaces データテーブルでの表示に問題があります。

<p:dataTable var="student" rowIndexVar="row" selectionMode="single"  paginator="true" value="#{studentsMB.students}" lazy="true"  rows="30">

<p:column id="tematpl" headerText="Temat pracy dyplomowej">  
    <h:outputText value="#{student.name}" /> 
</p:column> 

<p:column headerText="Test">                                
    <h:outputText value="#{student.courses[???].name} " />  
 </p:column> 

</p:dataTable>

「???」に変数を含める方法 場所なので、各コースの名前を表示できますか?

4

1 に答える 1

1

UI の観点からは、primefaces サブテーブルまたは行拡張を使用する良いでしょう

行拡張の場合、単純な構造は次のようになります

<p:dataTable var="student" rowIndexVar="row" selectionMode="single"  paginator="true" value="#{studentsMB.students}" lazy="true"  rows="30">

    <p:column style="width:2%">  
        <p:rowToggler />  
    </p:column>  

    <p:column id="tematpl" headerText="Temat pracy dyplomowej">  
        <h:outputText value="#{student.name}" /> 
    </p:column>  

    <p:rowExpansion>
        <p:datatable value="#{student.courses}"  var="course"
            <p:column  headerText="Course name">  
                <h:outputText value="#{course.name}" /> 
            </p:column>  
        </p:datatable>           
    </p:rowExpansion>  
</p:dataTable>  
于 2013-03-08T12:44:58.100 に答える