2015-11-04 264 views
1

我有一個XML視圖和一個控制器.js。 我的表格對象[sap.m.table]綁定到名爲「data」的模型。 問題是我必須綁定到我的模型的「項目」屬性。Sapui5動態綁定路徑

這是我的模型:

[ 
    { 
     "type": "01", 
     "items": [ 
      { 
       "date": "20150720", 
       "amount": "53.20", 
        "paytype": "Cash" 
      }, 
      { 
       "date": "20150720", 
       "amount": "53.20", 
        "paytype": "Cash" 
      }] 
}, 
    { 
     "type": "02", 
     "items": [ 
      { 
       "date": "20150720", 
       "amount": "53.20", 
        "paytype": "Cash" 
      }, 
      { 
       "date": "20150720", 
       "amount": "53.20", 
        "paytype": "Cash" 
      }] 
}, 


.... 

我想根據我的選擇Object [此對象綁定到字段,如「類型」屬性]的選擇更改爲我的表綁定到「項目」屬性

我怎麼能寫我的表的項目屬性

data>/items/ 

沒有工作路徑

我考慮解決路徑值綁定到外部模型 pathModel和根據選擇對象那樣的選擇改變來更新其屬性: 我的觀點XML:

<Table 
      items = "{ 
      path: '{path>pathUrl}' 
      }" 
      id = "dataTable"> 

我的控制器:

  newPath = "data>/"+ countPath +"/items/"; 
      currentView.getModel("path").setProperty("/pathUrl", newPath); 

但它是行不通的!

回答

0

我的解決方案,我認爲這是最好的:爲表格創建一個獨立模型,並在我更改選擇控件時用第一個模型的項目填充它。

這是我的代碼:

  var itemsTable = currentView.getModel("AdjustData"); // this is my new mode bound to the table 
      var data  = currentView.getModel("data").getData(); 

      // Set Type payment items 
      jQuery.each(data , function(index , item) { 
       if (item.type == mode) { 
        itemsTable.setData(item.items); 
       } 
      }); 
+0

您可以添加如何將itemsTable模型分配給表格嗎? –

0

你可以試試這個:

<Table id="myTable" 
     items="{ 
     path: 'data>/items' 
     }"> 
+0

不工作!在你的情況下,表格如何知道哪一行數據>例如數據>/0 /項目或數據>/1 /項目 – shmoolki

+0

確定,那麼讓我們做一些系統診斷 - 如果將表綁定到數據>/0 /項目你會得到你期望的結果嗎?即表格顯示懸掛類型01的項目? 。 – Bernard

+1

this.getView()bindElement(「數據> /」 + countPath +「/項目); – Bernard

1

我創建了一個簡單的例子Plunker顯示一個簡單的方法來實現你在找什麼。 Check it out here.

onSelectChange: function (ev) { 
      var list = this.getView().byId("myList"); 
      var index = ev.getParameter("selectedItem").getKey(); 
      list.bindItems("/" + index + "/items", 
      new sap.m.StandardListItem({ 
       title: "{amount}", 
      description: "{paytype}" 
      }) 
     ); 
     } 

有與其中我們表綁定到適當項目陣列的改變處理程序sap.m.Select控制。

+0

這是確定的,但我有我的專欄和細胞的模板詮釋我的XML文件 – shmoolki

+1

看我的答案! – shmoolki