2017-02-20 13 views
1

통화를 표시하기 위해 Kendo numericTextBox를 사용하고 있습니다. 선택한 통화를 기준으로 값의 형식을 지정해야합니다. "en-US"및 "de-DE"에 대해 올바르게 통화를 형식화 할 수 있지만 다른 그룹 크기를 가진 문화에 맞게 통화를 올바르게 포맷하는 데 문제가 있습니다.Kendo 숫자 텍스트 상자에서 문화 그룹 크기를 사용하여 통화 서식을 지정할 수 있습니까?

검도 블로그의 모든 예와 샘플은 유사한 그룹 크기를 가진 "en-US"및 "de-DE"에 있습니다.

"en-US"통화의 경우 groupSize 속성은 [3]입니다. 이는 각 그룹이 3 자리 숫자 뒤에 분리된다는 것을 의미합니다. 1,000,000. 그러나 그룹화가 다른 다른 문화, 예를 들어 "그룹 크기"가 [3,2,0] 인 "en-IN"과 검도 그룹의 그룹 번호는 1,000,000입니다. 그러나 그룹화는 3 자리 숫자로 구분되며 두 자리 숫자의 그룹 등이 있습니다 : 10,00,000.

누구든지 나를 도와 줄 수 있습니까?

답변

0

http://dojo.telerik.com/@jayesh-jayakumar/AtojA/8 그래서 문제는 구현이 기능하지 않고 기존 KendoUI 버전을 사용하고 있습니다 :

여기에 내 코드 샘플입니다. 여기에 최신 검도 버전의 코드 조각이며, 그것은 en-IN에 대한 diffrent 동작하는지 같습니다 http://dojo.telerik.com/aqEwun

그러나 내가이 문화에서 작동하는 방법이 당신이 할 수있는 숫자의 2 그룹을 생성 원인 exacly 경우 확실하지 않다 나의 예를 보라 (소수점 구분 기호는 2의 그룹, 3의 그룹 및 나머지 숫자 임).

편집 :

그래서 당신은 당신이 예 (2의 다음 그룹을 3 자리의 한 그룹은 소수점에서 시작) 서로 다른 행동을하고 싶습니다 언급 한 바와 같이. 버그 인 것 같아서 언젠가는 telerik이 고칠 것입니다. 그때까지 culture 개체의 groupSize 값을 [3, 2, 0]에서 [3, ​​2]로 변경하여 원하는 것을 얻을 수 있습니다.

당신이 코드를 사용할 수 있습니다 연결된 모든 문화에서 세계를 해결하려면 :

for(var i in kendo.cultures){ 
    var culture = kendo.cultures[i]; 
    if(JSON.stringify(culture.numberFormat.groupSize) === '[3,2,0]'){ 
     culture.numberFormat.groupSize = [3, 2]; 
    } 
    if(JSON.stringify(culture.numberFormat.currency.groupSize) === '[3,2,0]'){ 
     culture.numberFormat.currency.groupSize = [3, 2]; 
    } 
    if(JSON.stringify(culture.numberFormat.percent.groupSize) === '[3,2,0]'){ 
     culture.numberFormat.percent.groupSize = [3, 2]; 
    } 
    } 

PS합니다. JSON.stringify()보다 나은 배열 비교 기능을 사용하는 것이 좋습니다.

스 니펫 업데이트 : http://dojo.telerik.com/aqEwun/3

+0

오. 좋아, KendoUI의 버전을 업데이트하고 어떻게 작동하는지 확인하겠습니다. 그러나 언급 한 바와 같이 그룹화가 올바르지 않습니다. 처음 두 그룹은 올바르게 표시 되더라도 나머지 숫자는 함께 그룹화됩니다. 이것은 예상대로 아닙니다. 클라이언트 측의 그룹 크기를 기반으로 사용자 정의 통화 형식을 만들 수 있습니까? –

+0

사용자 지정 형식을 시도했지만 성공하지 못했습니다. 그러나 나는 문화 정의의 변화와 관련된 해결책으로 나의 대답을 업데이트했다. –

+0

고맙습니다. @Jaroslaw. 이 문제를 해결하면 같은 그룹 크기 문제로 다른 문화권을 처리 할 수있는보다 일반적인 솔루션을 만들 수 있습니다. 통찰력을 가져 주셔서 감사합니다. 당신이 언급 한 것처럼, 나는 telerik이 곧이 문제에 대한 해결책을 찾길 바랍니다. 한 번 더 .. 내 질문이 유효한 것 같으면 pls upvote. :) –