2017-03-27 5 views
0

Ich arbeite gerade mit einer Datentabelle, die ich nicht durch ein AJAX bevölkere, also glaube ich, dass ich die datasrc Option nicht verwenden kann. Gibt es eine Möglichkeit, eine meiner Spalten vor dem Drucken zu formatieren? Wie durch eine Funktion oder etwas. Ihre Hilfe wird gerne in Anspruch genommen. (Durch die Formatierung ich zum Beispiel bedeuten, den Wert von „constructionAmount“ erhalten und das Hinzufügen eines $ und ein paar Kommas.)Formatieren der Daten der Datatables

$("#showDepreciationMontlhytable").DataTable({    
      destroy:true, 
      responsive: true, 
      autoWidth : true, 
      searching: true, 
      data: transaction.transactionDetails,    
      columns:[ 
        {"data": "idRealEstate"}, 
        {"data": "name"}, 
        {"data": "addressState"}, 
        {"data": "depreciationDetail.constructionAmount"}, 
        {"data": "depreciationDetail.depreciationPercentageYearly"}, 
        {"data": "depreciationDetail.monthsUse"}, 
        {"data": "depreciationDetail.usefulLifeMonths"}, 
        {"data": "depreciationDetail.amount"} 
        ] ,  
      language: { 
       url: datatablesSpanishUrl 
      }, 
     });  

Antwort

0

eine Antwort Fand heraus, gibt es die „Render“ Option, die Ihnen die datta formatieren lässt aber es ist erforderlich.

$("#showDepreciationMontlhytable").DataTable({    
      destroy:true, 
      responsive: true, 
      autoWidth : true, 
      searching: true, 
      data: transaction.transactionDetails, 
      columns:[ 
        {"data": "idRealEstate"}, 
        {"data": "name"}, 
        {"data": "addressState"}, 
        {"data": "depreciationDetail.constructionAmount", 
        "render" : function(data, type, full) 
         { 
          return currencyFormat(data,"$");       
         } 
        }, 
        {"data": "depreciationDetail.depreciationPercentageYearly"}, 
        {"data": "depreciationDetail.monthsUse"}, 
        {"data": "depreciationDetail.usefulLifeMonths"}, 
        {"data": "depreciationDetail.amount", 
        "render" : function(data, type, full) 
         { 
          return currencyFormat(data,"$");       
         } 
        } 
        ] ,  
      language: { 
       url: datatablesSpanishUrl 
      }, 
     }); 

function currencyFormat(n, currency) { 
return currency + " " + n.toFixed(decimalRounding).replace(/(\d)(?=(\d{3})+\.)/g, "$1,"); 

}

+1

Kann noch nicht, sagt, es kann ich meine eigenen Antworten, bis 2 Tage vergangen sind nicht akzeptieren. – Omaruchan

Verwandte Themen