gpt4 book ai didi

sorting - Primefaces "sortBy="不起作用

转载 作者:行者123 更新时间:2023-12-02 16:13:51 26 4
gpt4 key购买 nike

我正在使用 Primefaces + JSF 开发一个应用程序。我的数据表可以工作,但在排序 sortBy= 时出现问题,我尝试了 sortBy="#{pc.rota}" 但它也不起作用:

数据表显示所有行,我认为问题是 sortBy= 或我的支持 bean。

page.xhtml

<h:body>

<h:form id="pcEmulation">

<p:dataTable id="dataTablePCEMulation" var="pc" value="#{pCEmulationBean.allPCEmulation}"

rows="10"
rowsPerPageTemplate="5,30,50,100,200,300"


emptyMessage="Não foi encontrado"
>


<f:facet name="header">
PC Emulation Web
</f:facet>

<p:column headerText="PC - TX OLO's" filterValue="#{pc.filtpcn}" filterMatchMode="contains" filterBy="#{pc.filtpcn}" >
<h:outputText value="#{pc.filtpcn}" />
</p:column>

<p:column headerText="Rota" sortBy="rota" >
<h:outputText value="#{pc.rota}" />
</p:column>

<p:column headerText="Origem">
<h:outputText value="#{pc.origem}" />
</p:column>

<p:column headerText="Antigo">
<h:outputText value="#{pc.epcn}" />
</p:column>

<p:column headerText="Destino">
<h:outputText value="#{pc.destino}" />
</p:column>

<p:column headerText="PC-Novo">
<h:outputText value="#{pc.realpcn}" />
</p:column>


</p:dataTable>

<p:blockUI block="dataTablePCEMulation" trigger="dataTablePCEMulation">
LOADING<br />
<p:graphicImage value="/images/loading.gif"/><br />
<p:graphicImage value="/images/tim-banner2.png" width="100px" height="45px"/>
</p:blockUI>

</h:form>
</h:body>

支持 bean:

@ManagedBean
//@ViewScoped
@SessionScoped
public class PCEmulationBean {

public List<PCEmulation> allPCEmulation;



public List<PCEmulation> getAllPCEmulation() {
PCEmulationDAO dao = new PCEmulationDAO();
try {
allPCEmulation = dao.getAll();

} catch (ClassNotFoundException | SQLException e) {
System.out.println("Problema no metodo list : " + e);
}

return allPCEmulation;
}

}

最佳答案

为了使排序工作,您需要每次使用 getter 返回相同的列表对象,在您的情况下,您每次都会从 dao 返回一个新列表。因此,如果列表以前为空,您应该只获取新列表。 getter 中的代码应如下所示。

   if (allPCEmulation == null) {
PCEmulationDAO dao = new PCEmulationDAO();
try {
allPCEmulation = dao.getAll();

} catch (ClassNotFoundException | SQLException e) {
System.out.println("Problema no metodo list : " + e);
}
}

return allPCEmulation;

关于sorting - Primefaces "sortBy="不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25799390/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com