2008-11-03 16 views
3

嗨,大家好,有沒有使用JSF將JSF中單個父列下的兩個或更多列分組的方法? 我有一個dataTableEx與hx:columnEx列裏面。我想是這樣的:在JSF中將單列下的列分組

[MAIN HEADER FOR COL1+2 ][Header for Col 3+4] 

[ COL1 Header][COL2 Header][COL3 ][COL 4 ] 

Data   Data    Data  Data 

Data   Data    Data  Data 

Data   Data    Data  Data 

Data   Data    Data  Data 

數據數據數據數據

感謝

回答

0

你可能可以實現你想要的表頭,一個panelGrid和一個小CSS。

<style type="text/css"> 
.colstyle { 
    width: 25% 
} 
</style> 
</head> 
<body> 

<f:view> 
    <h:dataTable border="1" value="#{columnsBean.rows}" var="row" 
     columnClasses="colstyle"> 
     <f:facet name="header"> 
      <h:panelGrid columns="2" border="1" style="width: 100%"> 
       <h:outputLabel style="width: 100%" value="MAIN HEADER FOR COL1+2" /> 
       <h:outputLabel style="width: 100%" value="MAIN HEADER FOR COL3+4" /> 
      </h:panelGrid> 
     </f:facet> 
     <h:column> 
      <f:facet name="header"> 
       <h:outputText value="COL1 Header" /> 
      </f:facet> 
      <h:outputLabel value="#{row.col1}" /> 
     </h:column> 
     <h:column> 
      <f:facet name="header"> 
       <h:outputText value="COL2 Header" /> 
      </f:facet> 
      <h:outputLabel value="#{row.col2}" /> 
     </h:column> 
     <h:column> 
      <f:facet name="header"> 
       <h:outputText value="COL3 Header" /> 
      </f:facet> 
      <h:outputLabel value="#{row.col3}" /> 
     </h:column> 
     <h:column> 
      <f:facet name="header"> 
       <h:outputText value="COL4 Header" /> 
      </f:facet> 
      <h:outputLabel value="#{row.col4}" /> 
     </h:column> 
    </h:dataTable> 
</f:view> 
0

最好的辦法是有可能使用嵌套表的第一頭(第一頭在外部表,你的第二個頭和嵌套表中的數據),使它看起來像兩個頭。

+0

嵌套JSF dataTables是一個壞主意。 – McDowell 2008-11-05 17:35:16

0

也許你可以看看高級組件庫,例如爲數據表提供更復雜結構的RichFaces,就像這個example一樣。