Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 2 使用primefaces实时滚动时排序工作不正常_Jsf 2_Primefaces - Fatal编程技术网

Jsf 2 使用primefaces实时滚动时排序工作不正常

Jsf 2 使用primefaces实时滚动时排序工作不正常,jsf-2,primefaces,Jsf 2,Primefaces,我已启用实时滚动的primefaces datatable。列未完全排序。当其中一列排序时,例如下图中的“已保险”列,所有记录似乎都已排序,但当我到达滚动的末尾并加载下一组记录时,当我尝试按降序查看列时,我会看到图中所示的未排序顺序的其他记录。因此,我无法准确完成排序功能(所有记录不会在一段时间内进行排序)。此外,大写和小写也分别排序 这是由于实时滚动而发生的事情,还是我们对此有任何解决办法。请给出解决方案,因为这是我工作中需要包含的重要功能之一 我的JSF代码片段 <p:da

我已启用实时滚动的primefaces datatable。列未完全排序。当其中一列排序时,例如下图中的“已保险”列,所有记录似乎都已排序,但当我到达滚动的末尾并加载下一组记录时,当我尝试按降序查看列时,我会看到图中所示的未排序顺序的其他记录。因此,我无法准确完成排序功能(所有记录不会在一段时间内进行排序)。此外,大写和小写也分别排序

这是由于实时滚动而发生的事情,还是我们对此有任何解决办法。请给出解决方案,因为这是我工作中需要包含的重要功能之一

我的JSF代码片段

     <p:dataTable id="workSpaceList" var="data"
        value="#{workSpaceBean.lazylpId}" widgetVar="multiSelection"
        selection="#{workSpaceBean.selectedRows}" resizableColumns="true"
        liveScroll="true" scrollRows="15" scrollWidth="100%"
        scrollHeight="75%" styleClass=".ui-datatable-hor-scroll"
        tableStyle="table-layout:auto;width:100% important!; height:100% important!;padding-left:15px;"
        scrollable="true"
        filteredValue="#{workSpaceBean.filteredWorkSpaceItems}">

        <p:ajax event="rowSelect" listener="#{workSpaceBean.onRowSelect}"
           update=":editWrkSp:display" oncomplete="multiDialog.show()" />

        <p:column selectionMode="multiple" style="width:5%" />
        <p:column headerText="Insured" filterBy="#{data.insuredName}"
           sortBy="#{data.insuredName}" style="width:20%">
           <h:outputText value="#{data.insuredName}" />
        </p:column>
        <p:column headerText="City" filterBy="#{data.custAddress_City}"
           sortBy="#{data.custAddress_City}">
           <h:outputText value="#{data.custAddress_City}" />
        </p:column>
        .
        .
        .
        .
     </p:dataTable>

.
.
.
.

我假设当加载活动行时,您需要在数据表中再次执行排序以使其正确排序?是否有任何方法可以使所有行在一段时间内排序,而不受活动滚动的影响?以上是预期的行为。PF在第一次命中时加载一组行。您可以根据所需的属性,使用其列中的箭头对其进行排序。如果向下滚动,将加载下一组行。然后,您需要在列中单击以再次订购。IMHO这是正确的行为,以便最终用户可以看到最近添加了哪些行。为了实现您想要的功能,数据表中似乎没有滚动事件,因此发生这种情况时无法执行操作。