2016-08-19 1 views
0

Я использую модель OData из моего сетевого шлюза Netweaver.SAPUI5: представление модели модели OData из первой строки

var oModel = new sap.ui.model.odata.ODataModel(url); 
this.setModel(oModel, "model"); 

Теперь у меня есть требование отобразить свойство из первой строки EntitySet.

Я пробовал его с помощью следующего кода в моем xml-представлении, но без успеха.

 <Text text="{model>/ZLLEDATSet/0/Date}"></Text> 

Я думал, что синтаксис должен быть "ModelName"// "индекс" "EntitySet"/"ИмениСвойства"

На основании ответа от @SiddP:

Я попытался следующие, но я получить ошибку Uncaught [object Object]

<Text text="{ 
       path: 'model>/ZLLEDATSet', 
       formatter: function(value){ 
       return value[0].Date; 
       } 
      }"> 
      </Text> 

РЕШЕНИЕ: (на основе SAPUI5 Data Binding on SimpleForm)

this.getView().byId("input").bindElement({ //"input" is id of a SimpleForm 
    path: "/ZLLEDATSet('0')", //'0' is the key 
    model: "model" 
}); 
//In SimpleForm 
<Text text="{model>Date}" /> 

Странно, что статическое решение не будет работать. (Нет запроса на сервер)

<Text text="{model>/ZLLEDATSet('0')/Date}" /> 
+0

Пожалуйста, проверьте мой ответ на http://stackoverflow.com/questions/39048699/sapui5-data-binding-on-simpleform и посмотрите, помогает ли это – cschuff

+0

@cschuff: Это именно моя проблема. Другие ответы основаны на JsonModel. Ваше динамическое решение с 'bindElement' работает для меня. (Но странно, что статический не работает над моим решением. При этом я не получаю запрос на сервере. –

ответ

0

Попробуйте это вместо этого.

 text:{ 
      path: '/ZLLEDATSet', 
      formatter: function(value){ 
          return value[0].Date; 
         } 
      } 

Вышеприведенный код на вашем вопрос просто отлично работает. См. Jsbin: http://jsbin.com/kobocidose/edit?html,js,output

Если вы все еще получаете ошибку, просто разместите alert(JSON.stringify(oModel.getData()));, чтобы проверить, правильно ли установлены данные для модели. Хорошая вероятность того, что ваши данные будут показывать нулевое значение.

+0

@alexander вы можете избавиться от 'model>' и попробуйте – SiddP

+0

Что вы имеете в виду со сбросом? –

+0

Можете ли вы просто измерить '/ ZILLEDATSet', поскольку ваш путь json отображается правильно, теперь вам просто нужно предоставить ключ, в котором вы получите значение, а затем значение снова имеет пару ключей и значений, где вы просто выбираете 0-й элемент значение [0] и значение ключа Дата от 0-го элемента, то есть значение [0]. Дате – SiddP