如何将<rich:datatable>绑定到支持bean?</rich:datatable>

时间:2011-05-23 17:50:56

标签: jsf jsf-2 richfaces

有没有办法将rich:dataTable绑定到bean?我可以在非绑定rich:dataTable中显示项目,但是当我添加绑定属性时,整个dataTable会消失。

部分代码:

<rich:dataTable 
  id="tableDetail"
  value="#{myBdeCheck.dataListBde}"
  binding="#{myBdeCheck.dataTable}"
  var="bdeItem">

  <rich:column>
    <f:facet name="header">
      <h:outputText value="Select" />
    </f:facet>
    <h:selectBooleanCheckbox value="#{myBdeCheck.selectedRow}"/>
  </rich:column>

  <rich:column>
    <f:facet name="header">
     <h:outputText value="Shift" />
    </f:facet>
    <h:outputText value="#{bdeItem.dayShift}"/>
  </rich:column>

  <f:facet name="footer">  
    <h:commandButton id="btnAdd" action="#{myBdeCheck.add}"/>
  </f:facet>
</rich:dataTable>

对于JSF工作private HtmlDataTable dataTable;

richfaces还有别的东西吗?谢谢

2 个答案:

答案 0 :(得分:5)

Richfaces 3.3

org.richfaces.component.html.HtmlDataTable

Richfaces 4

org.richfaces.component.UIDataTable

答案 1 :(得分:4)

HtmlDataTable适用于<h:dataTable>,而非<rich:dataTable>

我不确定组件类<rich:dataTable>正在使用什么,但要找到它,您需要将HtmlDataTable替换为Object,然后在setter中打印/调试{{ 1}}这样你就可以知道它是哪一个。

顺便问一下,你需要绑定什么?要获得所选行?您也可以使用dataTable.getClass()作为数据表值。有关示例,请检查以下答案: