Применить стиль к определенному льду: колонка - PullRequest
0 голосов
/ 30 декабря 2011

Мой вопрос довольно простой, но не могу найти ответ в 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>

Кажется, что компонент column имеет атрибут style и styleClass, но ничегокогда-либо отображается в HTML.

Как применить стиль к перкулярной ячейке таблицы с IceFaces?

Заранее спасибо за ответ.

1 Ответ

0 голосов
/ 30 декабря 2011

Как и в стандартном 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;
}
...