RichFaces 4 DataTable rich:列样式问题

时间:2015-09-12 10:54:58

标签: richfaces jsf-2.2 jboss-seam

我正在将jboss接缝,richfaces 3.x和jsf 1.x应用程序迁移到jboss seam 2.3和richfaces 4以及jsf 2.x.我有一个rich:dataTable显示一些数据,列的样式使用值表达式进行评估,该表达式在第一次加载时起作用。我的要求是每当我点击一行时,就会调用一个支持bean方法,该方法将点击的行对象设置为选中,并且在完成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:我正在采取创建按钮并将其隐藏在列中的方法,因为在a4j:ajax上的rowClick没有工作,我需要对象&#39; top&#39;要传递给支持bean,任何优化或更好的方法也非常受欢迎和欢迎。

0 个答案:

没有答案