JSF

2012-07-01 14 views
5

में गतिशील रूप से तालिका कॉलम बनाएं I डैशबोर्ड एप्लिकेशन पर काम कर रहा हूं जहां मुझे रिकॉर्ड का एक सेट पुनर्प्राप्त करना होगा और गतिशील टेबल बॉक्स में प्रदर्शित करना होगा। पेज फ्रेम लंबाई तय है। अब कॉलम और पंक्तियों को शुरू किया जा सकता है। यह इस नमूने की तरह दिखना चाहिए:JSF

enter image description here

वर्तमान में मैं प्रदर्शित करने के लिए डेटा तालिका का उपयोग कर रहा है, लेकिन यह एक स्तंभ में सभी डेटा प्रिंट करता है। मैं अपना कोड उपरोक्त पैटर्न में कैसे बदलूं?

<o:dataTable id="tabBlSearch" var="item" 
    onkeyup="handleLeftRightArrowOnDataTable('frmDashBoard:tabBlSearch')" 
    value="#{bLDashBoardAction.listBondLoc}"> 
    <o:column style="width: 20px;"> 
    <h:outputText value="#{item.awb}" /> 
    </o:column> 
</o:dataTable> 

उत्तर

11

आप का उपयोग कर मानक JSF घटकों के साथ इस लक्ष्य को हासिल कर सकते हैं एक <h:panelGrid> जिसमें <c:forEach> दृश्य का निर्माण समय के दौरान कोशिकाओं को उत्पन्न करने के लिए इस्तेमाल किया गया है। <ui:repeat> काम नहीं करेगा क्योंकि दृश्य प्रस्तुत करने के दौरान चलता है।

<h:panelGrid columns="5"> 
    <c:forEach items="#{bean.items}" var="item"> 
     <h:panelGroup> 
      <h:outputText value="#{item.value}" /> 
     </h:panelGroup> 
    </c:forEach> 
</h:panelGrid> 

घटक पुस्तकालयों के लिए के रूप में, मैं OpenFaces' showcase में कुछ भी नहीं दिख रहा है, लेकिन वास्तव में PrimeFaces इस उद्देश्य के लिए एक <p:dataGrid> है, यहां तक ​​कि पृष्ठांकन समर्थन के साथ।

<p:dataGrid columns="5" value="#{bean.items}" var="item"> 
    <p:column> 
     <h:outputText value="#{item.value}" /> 
    </p:column> 
</p:dataGrid>