我在<f:facet name="header">
中定义了paginator模板和工具栏的primefaces数据表
的例子:
<p:dataTable paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
currentPageReportTemplate="{startRecord} - {endRecord} of {totalRecords}">
<f:facet name="header">
<p:selectOneMenu id="presetSelectOneMenu"
value="#{alarmTable.selectedGuiPreset}"
style="padding: 0; margin: 0;float: left; display: block; width: 100px; text-align: left;">
<f:selectItem itemLabel="Global" itemValue="" itemDisabled="true" />
<f:selectItems value="#{guiSettings.arrayOfGlobalGuiPresets}" />
<f:selectItem itemLabel="Personal" itemValue="" itemDisabled="true" />
<f:selectItems value="#{guiSettings.arrayOfPersonalGuiPresets}" />
<p:ajax event="change" update="alarmTableId"
listener="#{alarmTable.actionSelectGuiPreset(true)}" />
</p:selectOneMenu>
<p:commandButton id="btnRefreshFilter" icon="ui-icon-refresh"
action="#{alarmTable.actionSelectGuiPreset(true)}"
update="alarmTableId" style="margin-left: 3px; float: left;"
title="Refresh" />
<h:outputText id="selectedGuiPresetText"
style="float: left; font-size: 12px; padding-top: 3px; padding-left: 5px"
value="In use - '#{alarmTable.selectedGuiPresets.size() > 0 ? alarmTable.selectedGuiPresets.get(0).presetName : ''}'" />
</f:facet>
<p:columns>
它看起来像:pic
我想节省垂直监视器空间,并将<f:facet name="header">
的组件集成到分页器行中。这可能吗?
从PrimeFaces 5.0(社区版)开始,这确实是可能的。现在可以定义自定义facet并将其名称添加到paginatorTemplate
中。这样的:
<p:dataTable paginator="true" paginatorTemplate="{Customization} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink}">
<f:facet name="{Customization}">
<p:selectOneMenu ... />
<p:commandButton ... />
<h:outputText ... />
</f:facet>
...header
...columns
</p:dataTable>
这个特性的演示可以在dataexporters展示中找到。
对