2015-11-04 263 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