2016-03-29 15 views
0

JSONモデルからデータを表示するためにsinpleformを含むグリッドを使用しています。 JSONモデルの名前はmysettingsです。 oView.setModel(this.models.mysettings, 'mysettings');ui5のシンプルフォームのデータバインディング

グリッドは、次の

<mvc:View 
xmlns:mvc="sap.ui.core.mvc" 
xmlns:l="sap.ui.layout" 
xmlns:f="sap.ui.layout.form" 
xmlns:core="sap.ui.core" 
xmlns="sap.m"> 

<Page> 
<l:Grid 
    defaultSpan="L12 M12 S12" 
    width="auto"> 
    <l:content> 
     <f:SimpleForm 
      minWidth="1024" 
      maxContainerCols="2" 
      editable="false" 
      layout="ResponsiveGridLayout" 
      labelSpanL="3" 
      labelSpanM="3" 
      emptySpanL="4" 
      emptySpanM="4" 
      columnsL="1" 
      columnsM="1" 
      content="{mysettings>/settings/Group/0/Parameters}"> 
      <f:content> 
       <Label text="{mysettings>OneOfTheKeys}" /> 
       <Input value="{mysettings>TheCorrespondingValue}" /> 
      </f:content> 
     </f:SimpleForm> 
    </l:content> 
</l:Grid> 
</Page> 
</mvc:View> 

JSONモデルのように見えるすることにより、与えられたとthe linked example at the endに似simpleformのビューを取得するためにdatabindigを使用することですどのように

{ 
    "settings": { 
     "Group": [ 
      { 
       "Parameters": 
       { 
        "key1": "value1", 
        "key2": "value2", 
        "key3": "value3", 
          ..., 
          ... 
       }, 
       "Name": "TheName" 
      } 
     ] 
    } 
} 

ですJSONモデルですか?キーと値のペアの数は指定されていません。

+0

'SimpleForm'では' Label'やその他のコントロールを扱う特別な方法のためにできないと思います。標準の 'sap.ui.layout.Form'を試して、FormElementに集約することもできます – Qualiture

答えて

0

AFAIK複数の集約をバインドする場合、配列が必要です。実際には代わりに普通のオブジェクトをバインドします。

のどちらか(可能な場合)

{ 
    "settings": { 
     "Group": [ 
      { 
       "Parameters": 
       [ 
        { key:"key1", value: "value1"}, 
        { key:"key2", value: "value2"}, 
        { key:"key3", value: "value3"}, 
          ..., 
          ... 
       ], 
       "Name": "TheName" 
      } 
     ] 
    } 
} 

それとも

<f:content> 
    <Label text="{mysettings>key}" /> 
    <Input value="{mysettings>value}" /> 
</f:content> 
にあなたのバインディング、配列

content="{ parts: [ 'mysettings>/settings/Group/0/Parameters' ], formatter :'.myFunctionToArray' }" 

にあなたのオブジェクトを変換するフォーマッタの機能を使用するような何かにあなたのモデルを変更

関連する問題