2016-06-20 8 views
2

私は、SummaryRowを使って単純なPrimefaces Datatableを持っています。このSummaryRowの値はManagedBeanで計算され、単純なBigDecimal変数で使用できます。 DataTableは、Stringフィールドによって順序付けられます。Primefaces概要複数の行に並んでいます

何とかして、DataTableはすべての行にsummaryRowで表示され、最後の行には表示されません。

私はこれを検索しましたが、何も見つかりませんでした。

私はJSF 2.2でPrimefaces 5.3を使用しています。

表: (https://drive.google.com/file/d/0Bw9aJmydXWmvdU8yTUkyYnp0Ums/view

XHTML:

<p:dataTable 
id="rgmStoricoContrattiSogettoCapogruppoDataTable" 
value="#{storicoSoggettoProdottoBean.sogegettoProdottoList}" 
var="soggetto" 
rendered="#{storicoSoggettoProdottoBean.isNdgMemberOfGroup()}" 
styleClass="common_datagrid" 
emptyMessage="Nessun valore presente" 
sortBy="#{soggetto.denominazione}" > 

<p:column headerText="Soggetto"> 
    <p:commandLink 
     value="#{soggetto.denominazione} #{soggetto.ndg} - #{soggetto.ndgCapogruppo}" 
     actionListener="#{storicoSoggettoProdottoBean.redirectSoggetoProdotto(request.contextPath, soggetto)}" 
     immediate="true" 
     process="@this" 
     style="font-size: 11px !important;" /> 
</p:column> 

<p:column headerText="Rating And./Cerved" width="67" style="text-align: center"> 
    <h:outputText value="#{soggetto.rating}/#{soggetto.ratingCerved}" /> 
</p:column> 

<p:column headerText="Perfez. storico" width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.perfezionato}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column headerText="Accord." width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.accordato}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column headerText="Utilizz." width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.utilizzato}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column headerText="Sconfino" width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.sconfino}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column headerText="In proposta" width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.inProposta}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column headerText="Garanzie bancarie" width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.garanzieBancarie}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column headerText="Rischio indiretto vs gruppo" width="87" style="text-align: center;"> 
    <h:outputText rendered="#{soggetto.rischioIndirettoVsGruppo == true}" value="SÍ" style="color: green; font-weight: bold;" /> 
</p:column> 

<p:column headerText="Rischio indiretto vs terzi" width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.rischioIndirettoVsTerzi}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column headerText="Rischio pond." width="60" style="text-align: right"> 
    <h:outputText value="#{soggetto.rischioPonderato}"> 
     <f:convertNumber type="currency" currencySymbol="€"/> 
    </h:outputText> 
</p:column> 

<p:column width="25"> 
    <p:commandButton 
     action="#{storicoSoggettoProdottoBean.redirectToStoricoPlafond(request.contextPath, soggetto)}" 
     immediate="true" 
     process="@this" 
     icon="fa fa-file-text-o" 
     styleClass="imageButton" 
     style="height: 12px;" /> 
</p:column> 

<p:summaryRow> 
    <p:column styleClass="totaleRowColor" style="text-align: right;"> 
     <h:outputText value="Totale:" style="font-weight: bold; text-transform: uppercase;" /> 
    </p:column> 

    <p:column styleClass="totaleRowColor" width="67" /> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.perfezionatoSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.accordatoSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.utilizzatoSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.sconfinoSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.inPropostaSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.garanzieBancarieSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" width="87" /> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.rischioIndirettoVsTerziSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" style="text-align: right;" width="60"> 
     <h:outputText value="#{storicoSoggettoProdottoBean.rischioPonderatoSoggettoSum}"> 
      <f:convertNumber type="currency" currencySymbol="€"/> 
     </h:outputText> 
    </p:column> 

    <p:column styleClass="totaleRowColor" width="25" /> 
</p:summaryRow> 

答えて

1

列にCOLSPAN属性が期待された結果のために必要な場合はわかりませんか...? (要約行が動作するためのdataTableタグ:http://www.primefaces.org/showcase/ui/data/datatable/summaryRow.xhtml

+2

こんにちは!答えてくれてありがとう。実際、問題が見つかりました。 PrimefacesのSummaryRowコンポーネントを使用して「合計」行を入れることができると考えていましたが、要約行は別の方法で動作します。要約行は、値が変更されるたびに新しい行を挿入します。 –

+0

今後、他のユーザーのための回答を提供することをお勧めします:) – chaeschuechli

+0

こんにちはパウロはどのように問題を解決しましたか?私は同じ問題を抱えています。コードサンプルを共有できますか? –

1

this questionで述べたように、あなたはSORTBY p上の属性を提供する必要があります:あなたが知らなかった場合

はサンプルのためPrimefacesのショーケースをチェックコードスニペットで行いました)。 Primefacesは、sortByタグの式を使用してテーブルエントリをグループ化し、各グループのサマリーローを提供します。

一つだけのグループを取得するために、私はこれを試してみました:私のため

<p:dataTable sortBy="#{1}" ...> 

作品罰金を、私は今、私の総計でただ1つのサマリー列を取得します。

関連する問題