将样式应用于特定的冰柱:列

时间:2011-12-30 12:44:43

标签: css jsf-2 icefaces-2

我的问题非常基本但无法在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将样式应用于表格的特定单元格?

提前感谢您的回答。

1 个答案:

答案 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;
}