2017-10-06 3 views
0

私はフォーマッタ関数に非常に奇妙な問題があります。次のフィールドのためのSAPUI5フォーマッタ関数がそのパラメータを返します

_formatter: function(sAccessLevel){ 
    switch(sAccessLevel){ 
     case "fullAccess": 
      return true; 
     case "readOnly": 
      return false; 
     case "norefund": 
      return false; 
     case "nodiscount": 
      return false; 
     default: 
      return false; 
    } 
}, 

私は、次のフォーマッタを持って

Error: "nodiscount" is of type string, expected boolean for property "visible" of Element sap.m.Column#__column154

<Column visible="{path: 'modelName>/Access', formatter: '_formatter'}" > 
    <header hAlign="Middle" vAlign="Middle"> 
     <Text text="{i18n>discount}" textAlign="Center"/> 
    </header> 
</Column> 

そして、私は時々、次のエラーを取得するtry-catchブロックで

または

Error: "fullAccess" is of type string, expected boolean for property "visible" of Element sap.m.Column#__column489

エラーを再現しようとすると、コードは正常に動作しますが、運用システムのログには上記のエラーが表示されます。

このエラーはどのように発生しますか?

ありがとうございます。

+0

フォーマッタの中で 'return(sAccessLevel && sAccessLevel ===" fullAccess ")を試してみてください。真:偽; – inizio

答えて

2

それは簡単な間違いです。 フォーマッタXMLビューに与えている間に、.formatterFunctionNameを以下のように指定する必要があります。

<Column visible="{path: 'modelName>/Access', formatter: '._formatter'}" > 
    <header hAlign="Middle" vAlign="Middle"> 
     <Text text="{i18n>discount}" textAlign="Center"/> 
    </header> 
</Column> 

コントローラでは、いつものようにフォーマッタ機能を実装します。

関連する問題