【问题标题】:Primefaces Complex Datatable Filtering and SortingPrimefaces 复杂数据表过滤和排序
【发布时间】:2013-12-23 19:23:49
【问题描述】:

我正在使用一个复杂的数据表,可以使用各种过滤器进行排序和过滤。我的问题是,当我尝试使用列过滤器、全局过滤器或排序数据表时,分页突然下降到 1 页,并且没有返回到分页的第一个状态。一开始我有 92 页,但是在过滤/排序后它变成了一个只有 1 页的数据表,即使我清除了过滤器的文本框,它仍然是 1 页。

这是我的数据表:

<h:panelGroup rendered="#{projectsController.items.rowCount > 0}">
<p:growl id="growl" />  
<p:dataTable id="datatable" value="#{projectsController.items}" var="item" filterEvent="keyup" 
             paginator="true" rows="5" emptyMessage="Proje bulunamadı." paginatorPosition="bottom"  
             paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" 
             rowsPerPageTemplate="4,5,6,7,8,9,10" 
             filteredValue="#{projectsController.filteredProjects}" style="font-size:11px;font-weight: bold;"  widgetVar="proj" >

    <f:facet name="header">  
       <p:outputPanel>  
          <h:outputText value="Tüm Alanlarda Ara:  " />  
          <p:inputText id="globalFilter" onkeyup="proj.filter();" style="width:150px" />  
       </p:outputPanel>  
    </f:facet> 


    <p:column id="c1" headerText="Proje Adı" width="500" filterStyle="display:none" styleClass="wrap" sortBy="#{item.projectname}" filterBy="#{item.projectname}" filterMatchMode="contains" >
       <h:outputText value="#{item.projectname}"/>
    </p:column>

    <p:column headerText="İlçe" width="150" styleClass="wrap" filterStyle="display:none" filterBy="#{item.district}" sortBy="#{item.district}" filterOptions="#{populator.districtsDD}" filterMatchMode="exact">
        <h:outputText value="#{item.district}"/>
    </p:column>

    <p:column headerText="Sektör" width="150" styleClass="wrap" filterStyle="display:none" filterBy="#{item.sector}" sortBy="#{item.sector}" filterOptions="#{populator.sectorsDD}" filterMatchMode="exact">
        <h:outputText value="#{item.sector}"/>
    </p:column>

    <p:column headerText="Başlangıç Tarihi" width="150" styleClass="wrap" filterStyle="display:none" sortBy="#{item.startdate}" filterBy="#{item.startdate}" filterMatchMode="contains">
        <h:outputText value="#{item.startdate}"/>
    </p:column>

    <p:column headerText="Bitiş Tarihi" width="150" styleClass="wrap" filterStyle="display:none" sortBy="#{item.enddate}" filterBy="#{item.enddate}" filterMatchMode="contains">
        <h:outputText value="#{item.enddate}"/>
    </p:column>

    <p:column headerText="İş Durumu" width="150" styleClass="wrap" filterStyle="display:none" sortBy="#{item.workstatus}" filterBy="#{item.workstatus}" filterMatchMode="contains">
        <h:outputText value="#{item.workstatus}"/>
    </p:column>

    <p:column>
        <p:commandButton id="selectButton" update=":display" oncomplete="carDialog.show()" icon="ui-icon-search" title="Detayları Gör">  
           <f:setPropertyActionListener value="#{item}" target="#{projectsController.selectedP}" />
           <p:ajax event="click" update=":viewTabs:tabView:mapTab"/>
        </p:commandButton>
        <p:commandButton id="editButton" update=":displayEdit" oncomplete="editDialog.show()" icon="ui-icon-pencil" title="Düzenle">  
           <f:setPropertyActionListener value="#{item}" target="#{projectsController.selectedP}" />
         </p:commandButton>
         <p:commandButton update="growl" title="Projeyi Sil" id="confirm" action="#{projectsController.destroy}" icon="ui-icon-trash" ajax="false" onclick="if (!confirm('Bu projeyi gerçekten silmek istiyor musunuz?'))
                                            return false;"/>  
      </p:column>
</p:dataTable>

过滤或排序后,如何将数据表重置为第一个状态?提前致谢。

Primefaces 3.5、Oracle WebLogic 10g、JSF 2.2

这是快照:

![在此处输入图片描述][1]

【问题讨论】:

    标签: sorting jsf primefaces datatable


    【解决方案1】:

    对于那些想知道解决方案的人,我已经从库中删除了 jsf-api.jar 和 jsf-impl.jar,而是放入了 netbeans 自己的 jsf2.1 库。基本上我已经降级到jsf2.1。我只是怀疑jsf-api和jsf-impl是否给了我jsf2.2的支持。

    希望这对某人有所帮助。

    【讨论】:

      猜你喜欢
      • 2016-04-08
      • 2014-07-19
      • 2018-01-16
      • 1970-01-01
      • 2013-04-21
      • 1970-01-01
      • 2023-03-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多