primefaces将另一个组件添加到datatable paginator模板

时间:2013-03-14 09:15:45

标签: jsf primefaces

我在<f:facet name="header">

中有定义的分页器模板和工具栏的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">中的组件集成到分页器行中。 这可能吗?

1 个答案:

答案 0 :(得分:4)

从PrimeFaces 5.0(社区版)开始确实可行。您现在可以定义自定义构面并将其名称添加到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>

可以在DataExporter showcase

中找到此功能的演示

此致