Primefaces向可数据分页器模板添加了另一个组件



我在<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展示中找到。

相关内容

  • 没有找到相关文章

最新更新