有人可以帮我这个吗?我似乎无法找到解决此问题的任何方法,也无法在算法中找到错误。
使用PrimeFaces 3.5
我的代码:
public String cercaParametriPratica() {
String idCostante= this.getFiltroParametri().getCostanteFiltro();
List<ConfigParamCalcParametro> listaParametri = null;
ParametriCalcoloDataModel parametriModel = null;
Integer annoMin = this.getFiltroParametri().getAnnoMin();
Integer annoMax = this.getFiltroParametri().getAnnoMax();
try {
listaParametri = this.getPersistenceFacade().ricercaParametriFiltrata(
this.pratica.getNumeroPratica(), idCostante, annoMin, annoMax);
parametriModel = new ParametriCalcoloDataModel(listaParametri);
} catch(DatabaseException dbe) {
log.error("Errore ricerca pratica {}", this.filtroPratica.getNumeroPratica(), dbe);
FacesContext.getCurrentInstance().addMessage(null,
new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Errore!", "Errore nel ricerca dei Parametri di Calcolo."));
}
return "gotoHome";
}
public class ParametriCalcoloDataModel扩展了ListDataModel实现 SelectableDataModel,java.io.Serializable {
/**
*
*/
private static final long serialVersionUID = 298627650136646161L;
private Map<String, ConfigParamCalcParametro> map;
public ParametriCalcoloDataModel(List<ConfigParamCalcParametro> data) {
super(data);
map = new HashMap<String, ConfigParamCalcParametro>();
for(ConfigParamCalcParametro item : data) {
if(item != null)
{
map.put((String)getRowKey(item), item);
}
}
}
@Override
public ConfigParamCalcParametro getRowData(String rowKey) {
return map.get(rowKey);
}
@Override
public Object getRowKey(ConfigParamCalcParametro log) {
String key;
StringBuilder sb = new StringBuilder();
sb.append(log.getMeseRifIniz());
sb.append(log.getAnnoRifIniz());
sb.append(log.getIdCostante());
key = sb.toString();
return key;
}
public int size(){
return this.map.size();
}
}
<pf:dataTable id="listaParametriDataTable" widgetVar="datatable" value="#{configParamCalcSrv.parametriModel}" selection="#{configParamCalcSrv.selection}" var="paramCalc" selectionMode="single" scrollable="true" scrollWidth="99%" resizableColumns="true"
paginator="true" lazy="true" rows="10" rowIndexVar="rowIndex" paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}" rowsPerPageTemplate="5,10,15,20" currentPageReportTemplate="Tot: {totalRecords}">
<pf:column id="valoreColumn" sortBy="#{paramCalc.valore}">
<f:facet name="header" style="text-align: right;">
<h:outputText id="valoreLabel" styleClass="outputText" value="Valore" />
</f:facet>
<h:outputText id="valoreText" styleClass="outputText" value="#{paramCalc.valore}">
<f:convertNumber locale="it_IT" maxFractionDigits="4" />
</h:outputText>
</pf:column>
<pf:column id="meseRifInizColumn" sortBy="#{paramCalc.meseRifIniz}" style="text-align: center;">
<f:facet name="header">
<h:outputText id="meseRifInizLabel" styleClass="outputText" value="Mese Iniz. Periodo" />
</f:facet>
<h:outputText id="meseRifInizText" styleClass="outputText" value="#{paramCalc.meseRifIniz}" />
</pf:column>
<pf:column id="annoRifInizColumn" sortBy="#{paramCalc.annoRifIniz}" style="text-align: center;">
<f:facet name="header">
<h:outputText id="annoRifInizLabel" styleClass="outputText" value="Anno Iniz. Periodo" />
</f:facet>
<h:outputText id="annoRifInizText" styleClass="outputText" value="#{paramCalc.annoRifIniz}" />
</pf:column>
<pf:column id="meseRifFineColumn" sortBy="#{paramCalc.meseRifFine}" style="text-align: center;">
<f:facet name="header">
<h:outputText id="meseRifFineLabel" styleClass="outputText" value="Mese Fine Periodo" />
</f:facet>
<h:outputText id="meseRifFineText" styleClass="outputText" value="#{paramCalc.meseRifFine}" />
</pf:column>
<pf:column id="annoRifFineColumn" sortBy="#{paramCalc.annoRifFine}" style="text-align: center;">
<f:facet name="header">
<h:outputText id="annoRifFineLabel" styleClass="outputText" value="Anno Fine Periodo" />
</f:facet>
<h:outputText id="annoRifFineText" styleClass="outputText" value="#{paramCalc.annoRifFine}" />
</pf:column>
<pf:column id="utenteColumn" sortBy="#{paramCalc.utente}" style="text-align: center;">
<f:facet name="header">
<h:outputText id="utenteModLabel" styleClass="outputText" value="Utente Ult. Mod." />
</f:facet>
<h:outputText id="utenteModText" styleClass="outputText" value="#{paramCalc.utenteMod}" />
</pf:column>
<pf:column id="dataModColumn" sortBy="#{paramCalc.dataMod}" style="text-align: center;">
<f:facet name="header">
<h:outputText id="dataModLabel" styleClass="outputText" value="Data Ult. Mod." />
</f:facet>
<h:outputText id="dataModText" styleClass="outputText" value="#{paramCalc.dataMod}" converter="calendarCustomConverter" pattern="dd/MM/yyyy" />
</pf:column>
</pf:dataTable>