在分页时将附加参数传递给 LazyDataModel 加载方法
Pass additional parameters to the LazyDataModel load method on pagination
我想在单击分页器按钮时传递附加参数。数据如下所示:
<p:dataGrid
var="citem"
value="#{group.lazyItemGroup}"
paginator="true"
rows="4"
lazy="true"
columns="2"
layout="grid"
id="items"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="6,12,16"
>
...
...
...
</p:dataGrid>
我可以使用这样的东西吗?
<p:inputText id="id" value="#{group.id}" type="hidden" />
or
<f:attribute name="id" value="#{group.id}" />
如果您指的是您已实现的 LazyDataModel
的 load
方法,那么不,您不能简单地向该方法添加参数。
既然你在谈论 "when a paginator button is clicked",我假设你有一个 page
事件监听器。显然你还没有,所以将其添加到你的 p:dataGrid
:
<p:dataGrid ...>
<p:ajax event="page"
listener="#{yourBean.yourListener}"/>
</p:dataGrid>
还有你的豆子:
public void yourListener(PageEvent event) {
...
}
在您的侦听器中,您可以将任何内容传递给您的自定义惰性数据模型实例,并在 load
方法中选择它。您还可以向数据网格组件添加一个 <f:attribute .../>
,它可以在侦听器方法中读取(请参阅 )。
请注意,您可以从页面事件中获取页面:
event.getPage();
这可能有助于确定要设置的附加数据。
我想在单击分页器按钮时传递附加参数。数据如下所示:
<p:dataGrid
var="citem"
value="#{group.lazyItemGroup}"
paginator="true"
rows="4"
lazy="true"
columns="2"
layout="grid"
id="items"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="6,12,16"
>
...
...
...
</p:dataGrid>
我可以使用这样的东西吗?
<p:inputText id="id" value="#{group.id}" type="hidden" />
or
<f:attribute name="id" value="#{group.id}" />
如果您指的是您已实现的 LazyDataModel
的 load
方法,那么不,您不能简单地向该方法添加参数。
既然你在谈论 "when a paginator button is clicked",我假设你有一个 page
事件监听器。显然你还没有,所以将其添加到你的 p:dataGrid
:
<p:dataGrid ...>
<p:ajax event="page"
listener="#{yourBean.yourListener}"/>
</p:dataGrid>
还有你的豆子:
public void yourListener(PageEvent event) {
...
}
在您的侦听器中,您可以将任何内容传递给您的自定义惰性数据模型实例,并在 load
方法中选择它。您还可以向数据网格组件添加一个 <f:attribute .../>
,它可以在侦听器方法中读取(请参阅
请注意,您可以从页面事件中获取页面:
event.getPage();
这可能有助于确定要设置的附加数据。