使用分页更新primefaces datagrid上页面的更新组件

时间:2013-07-05 11:19:08

标签: ajax jsf-2 datagrid primefaces

我有一个带分页的数据网格。当我更改页面时,我想更新页面中的某些组件,但我不知道如何获取该事件。一些代码:

<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=""属性更新按钮,是否可以?

问候。

1 个答案:

答案 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)
  ...
}