2014-04-28 50 views
2

我想在列表中綁定兩個不同的ListItems。一個是StandardListItem,另一個是DisplayListItem。我有一個包含數據的JSON模型。我已嘗試將所有數據綁定到這些列表項,但沒有顯示任何內容。這裏是我的代碼:在SAPUI5的列表中綁定兩個不同的ListItems

var oList = new sap.m.List("id_olist"); 
    var Sli = new sap.m.StandardListItem("id_sli",{ 
     title : "{myModel>/rootNode/name}" 
    }); 
    var Sli1 = new sap.m.DisplayListItem("id_sli1",{ 
     label : "{myModel>/rootNode/srno}" 
    }); 
    oList.addItem(oSli); 
    oList.addItem(oSli1); 

我的JSON模式是:

var data = { 
    "rootNode":[ 
      {"name":"abc","srno":"123"} 
      ] 
    }; 

    var oModel = new sap.ui.model.json.JSONModel(); 
    oModel.setData(data); 
    sap.ui.getCore().setModel(oModel,"myModel"); 

它甚至有可能?我需要幫助。

回答

2

有兩件事情不是邏輯上是正確/丟失:

  1. 你沒有提供的綁定到你的sap.m.List控制和
  2. 您試圖顯示與兩個列表項的單一列表相同的物體{"name":"abc","srno":"123"}這是不正確的(它應該是在您的模型中的兩個單獨的物體)
+1

感謝您的答覆。現在,爲了您的第一點,我嘗試將模型設置到列表中。它不工作。 sap.ui.getCore()。byId(「id_olist」).setModel(oModel,「myModel」) 對於第二點,是否需要創建另一個模型,因爲我已經在單個模型中嘗試了不同的根節點。它不工作。 謝謝 – abhhab

+0

@ Qualiture,我通過創建兩個不同的模型來嘗試相同的示例,並將它們中的每一個綁定到不同的列表項。但是,它不起作用。我認爲在約束性聲明中有一些問題。將感謝您的幫助。 – abhhab

+3

除了設置模型,你還應該設置綁定路徑,但由於你試圖從數組中的相同元素創建兩個列表項,它可能不會工作....只需更新綁定到'{myModel >/rootNode/0/name}'和'{myModel>/rootNode/0/srno}'將會工作(有效地指向數組中的第一個節點)。不過,我不會這樣做,但適應你的模型有一個對象的一個​​列表項。 – Qualiture

相關問題