Java 排序h:数据表
我正在使用Seam和Java创建一个h:dataTable,其中包含来自填充有对象的ArrayList的信息。我的问题是,有没有办法通过单击其中一个标题对表进行排序。我现在有一些代码,它所做的就是以与以前相同的方式重新加载表 这是我的一些代码。如果您需要更多信息,请告诉我: 表:Java 排序h:数据表,java,sorting,jsf,Java,Sorting,Jsf,我正在使用Seam和Java创建一个h:dataTable,其中包含来自填充有对象的ArrayList的信息。我的问题是,有没有办法通过单击其中一个标题对表进行排序。我现在有一些代码,它所做的就是以与以前相同的方式重新加载表 这是我的一些代码。如果您需要更多信息,请告诉我: 表: 地址 排序: 公共字符串sortByAddress(){ 对于(int i=0;i
地址
排序:
公共字符串sortByAddress(){
对于(int i=0;i 例如(int j=i+1;jRichfaces中的dataTable支持通过单击列进行排序。您可以获得更多关于dataTable的信息,包括排序,以及JSF专家提供的更多信息
<h:dataTable value="#{deliveryPort.getWholeDeliveryList()}" var="delivery" rules="rows">
<h:column>
<div class="setWidth">
<div class="white">
<f:facet name="header">
<h:outputLink style="color:#FFFFFF" action="#{deliveryPort.sortByAddress()}">
Address
</h:outputLink>
</f:facet>
</div>
<h:outputText value="#{delivery.address}" />
</div>
</h:column>
public String sortByAddress(){
for(int i = 0; i < wholeDeliveryList.size(); i++){
for(int j= i+1; j<wholeDeliveryList.size(); j++){
if(wholeDeliveryList.get(i).getAddress().compareTo(wholeDeliveryList.get(j).getAddress())<1){
FlowerStoreDelivery temp = wholeDeliveryList.get(i);
wholeDeliveryList.set(i, wholeDeliveryList.get(j));
wholeDeliveryList.set(j, temp);
}
}
}
return "deliveryList.seam";
}
public List<FlowerStoreDelivery> getWholeDeliveryList(){
wholeDeliveryList = new ArrayList<FlowerStoreDelivery>();
wholeDeliveryList.addAll(entityManager.createQuery("SELECT e FROM FlowerStoreDelivery e").getResultList());
return wholeDeliveryList;
}