2016-06-27 3 views
0

다른 통화로 표시해야하는 금액을 표시하기 위해 자체 포맷터를 만들려합니다.SAPUI5의 통화에 대한 포맷터 사용

하나는 내가 이미 알고있는이 솔루션을 사용 추측 수 :

           <t:template> 
           <Text text="{ 
               parts: [ 
                {path: 'amount'}, 
                {path: 'currency'} 
               ], 
               type:'sap.ui.model.type.Currency', 
               formatOptions: { 
                currencyCode: false 
               } 
              }" 
      </t:template> 

이 솔루션의 문제는 이미 별도의 열에서 통화를 표시하고 나는이 솔루션을 갈 경우 매우 추한 모습입니다 .. ..

그래서 난이 하나 시도 :

<t:template> 
           <Text text="{parts: [     
           {path: 'amount'}, 
           {path: 'currency'} 
           ],    
           formatter : '.formatter.currency'}" 
           /> 
          </t:template> 

을 내 포매터 기능은 다음과 같습니다 :

여기
currency: function(amount, currency) { 

     var change = []; 
     change.push(amount); 
     change.push(currency); 
     var sInternalType = ""; 
     var amount1 = new sap.ui.model.type.Currency(); 


      amount1.formatValue(change, sInternalType); 
      return amount1; 
    } 

내가 영어가 모국어가 아닌 아마 내가 API 참조 잘 이해 일부러 생각하는 것처럼 그들이이 언급 될 때 나는 완전히 잘못된 일을 할 거라 생각 :

  • formatValue (vValue를, sInternalType) : any
  • 금액 및 통화 코드가 들어있는 지정된 배열의 형식을 string 유형의 출력 값으로 지정합니다. 'string'이외의 다른 내부 유형은 Currency 유형에서 지원되지 않습니다. 이 형식에 대해 소스 형식이 정의되어있는 경우 formatValue는 문자열 값을 입력으로 받아들입니다.이 값은 소스 형식을 사용하여 배열로 구문 분석됩니다. aValues가 정의되어 있지 않은지, null가 지정되고있는 경우는 null가 리턴됩니다.
  • 매개 변수 :
  • {배열 | 문자열} 포맷하는 값이나 문자열 값의 배열을 vValue
  • {문자열} sInternalType 대상 유형
  • 결과 :
  • {어느} 형식화 된 출력 값
  • 당신이 이미 다른 곳을 표시하기 때문에 통화 기호 또는 코드를 표시하지 의도 인 경우

답변

3

는, 당신은 간단하게 설정할 수 있습니다 'showMeasure'거짓, 예를 :

text="{ 
    parts: [ 
     {path: 'amount'}, 
     {path: 'currency'} 
    ], 
    type: 'sap.ui.model.type.Currency', 
    formatOptions: { 
     showMeasure: false 
    } 
}" 

통화 코드/기호가 표시되지 않는 것은 표준 통화 유형의 기능입니다. 그것을 확장 할 필요는 없습니다.

+0

감사합니다. – Nali