Alopex/Alopex Grid Render template
Alopex Grid - 소숫점 두자리 표현 렌더함수
furiganahub
2020. 4. 2. 12:31
Alopex Grid를 사용하다보면 숫자값에 , 를 3자리마다 찍어줘야 하는데, Javascript의 toLocaleString을 통해서 구현
기본적인 방식은 아래와 같다
function renderDecimal2(value, data, render, mapping, grid){
var fraction = 2;
value = parseFloat(value);
if(isNaN(value)){
value = 0;
}
return (value).toLocaleString("en-US", {style: "decimal",minimumFractionDigits :fraction, maximumFractionDigits: fraction});
}
조금 응용해보자
function renderDecimalByDataCurrency(value, data, render, mapping, grid){
// dataSet의 Row에 컬럼 'currencty'이란 컬럼이 있었고 거기에 각각의 값들이 존재한다면..
// row 1에서는 currencty USD 과 14324.4423 => USD 14,324.44
// row 2에서는 currencty KRW 과 213524.4423 => KRW 213,524.40 표현되길 원한다
var fraction = 2;
var currency = data.currency
value = parseFloat(value);
if(isNaN(value)){
value = 0;
}
value = (value).toLocaleString("en-US", {style: "decimal",minimumFractionDigits :fraction, maximumFractionDigits: fraction});
return currency + ' ' + value
}
최종 코드
var data = [
{
"item": "탁자",
"currency": "KRW",
"price": "223500",
},
{
"item": "선반A",
"currency": "USD",
"price": "3990.50",
}
];
function renderDecimalByDataCurrency(value, data, render, mapping, grid){
// dataSet의 Row에 컬럼 'currencty'이란 컬럼이 있었고 거기에 각각의 값들이 존재한다면..
// row 1에서는 currencty USD 과 14324.4423 => USD 14,324.44
// row 2에서는 currencty KRW 과 213524.4423 => KRW 213,524.40 표현되길 원한다
var fraction = 2;
var currency = data.currency
value = parseFloat(value);
if(isNaN(value)){
value = 0;
}
value = (value).toLocaleString("en-US", {style: "decimal",minimumFractionDigits :fraction, maximumFractionDigits: fraction});
return currency + ' ' + value
}
$('#gr').alopexGrid({
height: 200,
autoColumnIndex: true,
columnMapping : [
{
align : 'center',
key : 'check',
width : '30px',
selectorColumn : true
}, {
key : 'item',
title : '아이템',
width : '100px'
}, {
key : 'price',
title : '금액',
width : '100px',
align : 'right',
render: renderDecimalByDataCurrency
},
],
data : data
});
https://codepen.io/Hatcha/pen/LYVvxVM