为了简短起见,在jsf页面中,我有2个rich:dataTable。
第一个加载在页面的onLoad事件中。
在第一行中单击一行时会加载第二行。
两个表都有一个rich:dataScroller。
除了我没有找到如何使用dataScroller的actionListener之外,一切正常。
示意我有
<rich:collapsiblePanel>
<h:form>
<h:panelGroup id="table1">
<rich:dataTable>
<f:facet name="header">
</f:facet>
<rich:column>
</rich:column>
<f:facet name="footer">
<rich:dataScroller reRender="table1,table2" page="1" actionListener="#{mybean.ac}"/>
</f:facet>
</rich:dataTable>
</h:panelGroup>
<h:panelGroup id="table2">
<rich:dataTable rendered="#{myBean.rowSelected != null}">
<f:facet name="header">
</f:facet>
<rich:column>
</rich:column>
<f:facet name="footer">
<rich:dataScroller reRender="table1" page="1" />
</f:facet>
</rich:dataTable>
</h:panelGroup>
</h:form>
</rich:collapsiblePanel>
我的豆子里有
Long rowSelected;
public void ac()
{
rowSelected = null;
System.out.println("xxxxxxxxxxxxxxxxxxxxxxxxxx");
}
但无所事事,从未成功使其发挥作用。
我也尝试过没有任何差异
public void ac(ActionEvent ae) - using javax.faces.event.ActionEvent
和
action="#{mybean.ac}"
答案 0 :(得分:1)
<rich:dataScroller>
既没有action
也没有actionListener
属性。如果您使用的是RichFaces 4.3,则可以使用scrollListener
。请参阅docs。