我的问题非常基本但无法在Google上找到答案。我想知道我是否错过了关于冰的内容:列组件。
我使用的代码如下:
<ice:panelGrid columns="3">
<ice:column style="background-color: yellow;">
<ice:outputText value="..." />
</ice:column>
<ice:column>
// row content
</ice:column>
<ice:column>
// row content
</ice:column>
// other rows
</ice:panelGrid>
列组件似乎具有样式和styleClass属性,但HTML中没有呈现任何内容。
如何使用IceFaces将样式应用于表格的特定单元格?
提前感谢您的回答。
答案 0 :(得分:0)
与标准JSF <h:panelGrid>
一样,<ice:panelGrid>
具有columnClasses
属性,允许您指定以逗号分隔的列类列表,这些列类将随后应用于列。此外,在标准JSF <h:panelGrid>
中,不支持<h:column>
。这只在<h:dataTable>
中得到了支持。相反,<h:panelGrid>
的每个直接子项都被视为一个列,如果您有多个组件需要放在一个列中,则可以只有<h:outputText>
或<h:panelGroup>
。
所以,这应该做:
<ice:panelGrid columns="3" columnClasses="col1,col2,col3">
<ice:panelGroup>row 1 col 1</ice:panelGroup>
<ice:panelGroup>row 1 col 2</ice:panelGroup>
<ice:panelGroup>row 1 col 3</ice:panelGroup>
<ice:panelGroup>row 2 col 1</ice:panelGroup>
<ice:panelGroup>row 2 col 2</ice:panelGroup>
<ice:panelGroup>row 2 col 3</ice:panelGroup>
...
</ice:panelGrid>
将生成
<table>
<tbody>
<tr>
<td class="col1">row 1 col 1</td>
<td class="col2">row 1 col 2</td>
<td class="col3">row 1 col 3</td>
</tr>
<tr>
<td class="col1">row 2 col 1</td>
<td class="col2">row 2 col 2</td>
<td class="col3">row 2 col 3</td>
</tr>
...
</tbody>
</table>
您可以按常规方式在.col1
,.col2
和.col3
类中指定样式。
.col1 {
background: yellow;
}