Reputation: 1374
I try to do a simple example: If I use the JSON view, the binding works, but if I use the XML view (I prefer it) I have a problem: no data visualized. Why?
This is the controller (equal to XML and JSON view).
sap.ui.controller("appIntra.test", {
onInit : function() {
var data = {
names: [
{firstName: "Peter", lastName: "Mueller"},
{firstName: "Petra", lastName: "Maier"},
{firstName: "Thomas", lastName: "Smith"},
{firstName: "John", lastName: "Williams"},
{firstName: "Maria", lastName: "Jones"}
]
};
// create a Model with this data
var model = new sap.ui.model.json.JSONModel();
model.setData(data);
console.log("controller");
sap.ui.getCore().setModel(model);
//this.getView().setModel(model);
},
});
This is json view
sap.ui.jsview("appIntra.test", {
/** Specifies the Controller belonging to this View.
* In the case that it is not implemented, or that "null" is returned, this View does not have a Controller.
* @memberOf appIntra.test
*/
getControllerName : function() {
return "appIntra.test";
},
/** Is initially called once after the Controller has been instantiated. It is the place where the UI is constructed.
* Since the Controller is given to this method, its event handlers can be attached right away.
* @memberOf appIntra.test
*/
createContent : function(oController) {
console.log("view");
// create a List control
var list = new sap.m.List({
headerText:"Names"
});
// bind the List items to the data collection
list.bindItems({
path : "/names",
template : new sap.m.StandardListItem({
title: "{lastName}",
description: "{firstName}",
type: sap.m.ListType.Navigation,
})
});
return new sap.m.Page({
title: "Title",
content: list
});
}
});
and this is (part of) XML view
<List
items="{
path: '/items',
sorter: {
path: 'padre',
descending: false,
group: true
}
}"
headerText="Operazioni" >
<StandardListItem
title="{text}"
/>
</List>
Upvotes: 1
Views: 4349
Reputation: 11
Pleaes try to add the following paramater in the bootstrap parameter of the HTML file.
data-sap-ui-xx-bindingSyntax="complex"
Regards, Makoto
Upvotes: 1
Reputation: 5713
<List
items="{
path: '/names',
sorter: {
path: 'padre',
descending: false,
group: true
}
}"
headerText="Operazioni" >
<StandardListItem
title="{text}"
/>
</List>
Upvotes: 1