2016-09-28 5 views
0

モデルにネストされた配列 "machines"をSAPUI5 sap.m.TileContainerにバインドしたいとします。SAPUI5 TileContainerネストされたJSONデータバインディング

var data_main = { 
 
\t \t \t "name":"1", 
 
\t \t \t "company":{ 
 
\t \t \t  "money":100000, 
 
\t \t \t  "name":"2", 
 
\t \t \t  "departments":{ 
 
\t \t \t   "marketing":{ 
 
\t \t \t    "marketingActivities":[ 
 

 
], 
 
\t \t \t    "marketingModifier":0, 
 
\t \t \t    "numberOfEmployees":1 
 
\t \t \t   }, 
 
\t \t \t   "production":{ 
 
\t \t \t    "output":14281.287062979532, 
 
\t \t \t    "outputCoefficientOfEmployees":10, 
 
\t \t \t    "machines":[ 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "effectOnOutput":200, 
 
\t \t \t     "level":1, 
 
\t \t \t     "price":0, 
 
\t \t \t     "name":"lauterTub", 
 
\t \t \t     "id":1, 
 
\t \t \t     "value":2000, 
 
\t \t \t     "costPerRound":100 
 
\t \t \t    }, 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "effectOnOutput":500, 
 
\t \t \t     "level":1, 
 
\t \t \t     "price":0, 
 
\t \t \t     "name":"fermantingVat", 
 
\t \t \t     "id":2, 
 
\t \t \t     "value":5000, 
 
\t \t \t     "costPerRound":200 
 
\t \t \t    }, 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "level":0, 
 
\t \t \t     "price":0, 
 
\t \t \t     "effectOnCapacity":0, 
 
\t \t \t     "name":"storage", 
 
\t \t \t     "id":3, 
 
\t \t \t     "value":0, 
 
\t \t \t     "costPerRound":0 
 
\t \t \t    }, 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "effectOnQuality":0, 
 
\t \t \t     "level":0, 
 
\t \t \t     "price":0, 
 
\t \t \t     "name":"beerFilter", 
 
\t \t \t     "id":4, 
 
\t \t \t     "value":0, 
 
\t \t \t     "costPerRound":0 
 
\t \t \t    }, 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "effectOnOutput":300, 
 
\t \t \t     "level":1, 
 
\t \t \t     "price":0, 
 
\t \t \t     "name":"brewingCopper", 
 
\t \t \t     "id":5, 
 
\t \t \t     "value":3000, 
 
\t \t \t     "costPerRound":200 
 
\t \t \t    }, 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "effectOnOutput":200, 
 
\t \t \t     "level":1, 
 
\t \t \t     "price":0, 
 
\t \t \t     "name":"mashTub", 
 
\t \t \t     "id":6, 
 
\t \t \t     "value":2000, 
 
\t \t \t     "costPerRound":50 
 
\t \t \t    }, 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "effectOnQuality":0, 
 
\t \t \t     "level":0, 
 
\t \t \t     "price":0, 
 
\t \t \t     "name":"whirlpool", 
 
\t \t \t     "id":7, 
 
\t \t \t     "value":0, 
 
\t \t \t     "costPerRound":0 
 
\t \t \t    }, 
 
\t \t \t    { 
 
\t \t \t     "priceForNextUpdate":0, 
 
\t \t \t     "effectOnOutput":100, 
 
\t \t \t     "level":1, 
 
\t \t \t     "price":0, 
 
\t \t \t     "name":"maltMill", 
 
\t \t \t     "id":8, 
 
\t \t \t     "value":1000, 
 
\t \t \t     "costPerRound":50 
 
\t \t \t    } 
 
\t \t \t    ], 
 
\t \t \t    "numberOfEmployees":2, 
 
\t \t \t    "quality":0, 
 
\t \t \t    "capacity":0 
 
\t \t \t   }, 
 
\t \t \t   "procurement":{ 
 
\t \t \t    "numberOfEmployees":1 
 
\t \t \t   }, 
 
\t \t \t   "sales":{ 
 
\t \t \t    "numberOfEmployees":2 
 
\t \t \t   } 
 
\t \t \t  }, 
 
\t \t \t  "numberOfEmployees":6 
 
\t \t \t }, 
 
\t \t \t "publicData":{ 
 
\t \t \t  "markt":"Beispieleigenschaft des Marktes" 
 
\t \t \t } 
 
\t \t \t } 
 
\t var model_main = new sap.ui.model.json.JSONModel(data_main); 
 
\t sap.ui.getCore().setModel(model_main, "main");

私の見解では

new sap.m.TileContainer("tilecontainer_production", { 
 
\t width: "55em", 
 
\t height: "35em", 
 
\t editable: true, 
 
\t allowAdd: true, 
 
\t tiles: { 
 
\t  path: "main>/company/departments/production/machines", 
 
\t  template: new sap.m.CustomTile({...}) 
 
)};

しかし、何も動作します。私は

  • マシン
  • メイン>マシン

    • メイン> /マシンにバインドしようとした
    • メイン>会社/部署/生産/機械
    • メイン> /会社/部署/生産/機械/

    ただし、何も機能しません。

    おかげさまで、私は本当に立ち往生しています!

  • 答えて

    1

    編集: 私は間違いを犯しました。

    これが正解です:

    あなたは> /そうがメイン>/ がの始まりである「モデル名」で行われているモデル内のプロパティへのアクセスパス 内/を逃しましたパスを結合

    main>/company/departments/production/machines 
    

    敬具

    +0

    これは動作しません。配列マシン内のすべてのオブジェクトに対して1つのタイルを作成したい。 – Steinroe

    +0

    私の答えを更新しました。間違って申し訳ありません。しかし、これは間違いなく機能します – Beka

    関連する問題