0

私の質問はかなり基本的なものですが、Google で答えが見つかりません。ice:column コンポーネントについて何か見逃したのではないかと思います。

私は次のようなコードを使用します:

<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>

列コンポーネントには style および styleClass 属性があるようですが、HTML には何もレンダリングされていません。

IceFaces を使用してテーブルの特定のセルにスタイルを適用するにはどうすればよいですか?

答えてくれてありがとう。

4

1 に答える 1

0

<h:panelGrid>標準のJSF と同様に、列に後で適用される列クラスのコンマ区切りリストを指定できる属性があります<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;
}
于 2011-12-30T15:37:24.030 に答える