2015-05-18 15 views
11

UI kılavuzunda bir sütunun toplam değerini nasıl biçimlendiririm? BenUi-grid'de altbilgi değerlerini biçimlendirme

total: $6370.05 

istiyorum benim rakamlarla

Ben

total: 6370.046074130321 

gibi korkunç bir şey olsun denedim hem:

footerCellTemplate: '<div class="ui-grid-cell-contents" >{{COL_FIELD | currency}}</div>', 

ve

footerCellTemplate: '<div class="ui-grid-cell-contents" >{{grid.getCellValue(row, col) | currency}}</div>', 

ancak bunların hiçbiri işe yaramıyor.

cevap

14

şablonları ama senin şablonu almak istediğiniz kişiler modülde

Eklemek Toplam değer üzerinde çalışın.

Şablonun içindeki sütun için toplam değeri almak için {{col.getAggregationValue()}}'u kullanabilir ve biçim seçeneklerinizi ekleyebilirsiniz.

Eğer {{col.getAggregationValue() | number:2 }}

Ayrıca ızgara üzerinde etkin kolon filtrelerini şablon farklı olacaktır unutmayın fazla gibi bu olurdu iki ondalık sayılar istiyorum beri.

+0

Mükemmel! Filtrelerle bile harika çalışır. Teşekkürler – DeclanMcD

0

Gereksinim duyduğunuz ondalık miktarı seçmek için number filtresini kullanabilirsiniz.

{{'$' + valueToFormat | number:2}} 

Aksi takdirde, kendine değer/metin filtrelemek için bir custom filter işlevini kullanabilirsiniz. HTML'inizde

.filter('customFilterFunction', function() { 
return function(input) { 
    var out = ""; 
    out = '$' + parseFloat(input).toFixed(2); 
    return out; 
    }; 
}) 

Eklemek: Eğer normal hücre değerleri için çalışacak çalıştı

{{valueToFormat | customFilterFunction}} 
+0

Bu, ihtiyacım olan 'valueToFormat'tir. Orijinal sorumdan görebildiğiniz gibi (| para birimi) zaten yaptım ama doğru görünmüyor 'COL_FIELD' kullanıyorum. – DeclanMcD

0
$templateCache.put('ui-grid/uiGridFooterCell', 
"<div class=\"ui-grid-cell-contents\" col-index=\"renderIndex\"><div>{{ col.getAggregationText() + (col.getAggregationValue() CUSTOM_FILTERS) }}</div></div>" ); 

CUSTOM_FILTERS = footerCellFilter mülkiyet grid.colDef [0] .footerCellFilter = 'numara: 2'

5

sonra ızgara seçenekleri

özel şablon işlevini kullanmak iki değeri göstermek için sonra ondalık noktayı gerekirse
 { 
      field: 'ORGINAL_FUNC_AMOUNT', 
      displayName: 'CR A/C', 
      aggregationType: uiGridConstants.aggregationTypes.sum, 
      footerCellTemplate: '<div class="ui-grid-cell-contents" >Total: {{col.getAggregationValue() | number:2 }}</div>' 
     }