RichFaces 4 DataTable rich: проблема стиля столбца

Я переношу приложения jboss seam, richfaces 3.x и jsf 1.x на jboss seam 2.3 и richfaces 4 и jsf 2.x. У меня есть rich:dataTable, который отображает некоторые данные, стилизация столбца оценивается с помощью выражения значения, которое при первой загрузке работает. Мое требование заключается в том, что всякий раз, когда я щелкаю по строке, происходит вызов метода вспомогательного компонента, который устанавливает выбранный объект строки, выбранный и по завершении ajax, я снова визуализирую таблицу, но классы не применяются к выбранной строке или которая была нажата. У меня есть классы, определенные в файле CSS, включенные в теги.

  My view Code goes here: 

  <rich:dataTable id="table" value="#{backingBean.getRows()}" var ="top" onrowClick="#{rich:element('rowClickButton')}.click();">
    <rich:column styleClass="#{top.selected ? 'selected':'unselected'>
      <a4j:commandButton id="rowClickButton" style="display:none" render="#{top.selected ? 'table':null} action ="#{bean.setRowclicked(top)}"/>
      <h:outputText value="First Column"/>
   </rich:column>
   <rich:column styleClass="#{top.selected ? 'selected' : 'unselected'>
      <h:outputText value="Second Column"/>
   </rich:column>

 My Backing Bean goes here

 public class BackingBean(){ 

     public List<Rows> getRows(){
       List<Rows> rows = new ArrayList<Rows>();
       rows.add(row1);
       rows.add(row2);
      return rows ;
   }   
 public void setRowClicked(top){
   top.selected(true);
 } 

}

PS: я использую подход создания кнопки и скрытия ее внутри столбца, потому что rowClick на a4j: ajax не работает, и мне нужно, чтобы объект 'top' был передан компоненту поддержки, любая оптимизация или лучший подход к этому также очень ценится и приветствуется.

0 ответов

Другие вопросы по тегам