我有一个带分页的数据网格。当我更改页面时,我想更新页面中的某些组件,但我不知道如何获取该事件。一些代码:
<p:panelGrid id="buttons">
<p:commandLink value="Link1" action="#{myBean.method1}" disabled="#{myBean.boolean1}" />
<p:commandLink value="Link2" action="#{myBean.method2}" disabled="#{myBean.boolean2}" />
</p:panelGrid>
<p:dataGrid var="myVar" paginator="true" value="#{myBean.listOfObjects}">
...
...
</p:dataGrid>
我想在dataGrid中使用update="buttons"
之类的东西,所以当页面发生变化时,根据按钮的disabled=""
属性更新按钮,是否可以?
问候。
答案 0 :(得分:17)
最后,我在<p:dataGrid ... />
内使用<p:dataTable ... />
代替<p:ajax ... />
,这是我的代码:
<p:dataTable var="myVar" paginator="true" rows="1" value="#{myBean.listOfObjects}">
<p:ajax event="page" update="buttons" listener="#{myBean.update}" />
...
...
</p:dataTable>
update
方法:
public void update(PageEvent event) {
int var = event.getPage();
...
(update components values of dataTable and buttons using var)
...
}