Data binding 如何将OData直接绑定到XMLView
我有一个UI5应用程序,其中有一个在XMLView中定义的表。我正在使用OData调用后端来检索数据。我是这样做的Data binding 如何将OData直接绑定到XMLView,data-binding,odata,sapui5,Data Binding,Odata,Sapui5,我有一个UI5应用程序,其中有一个在XMLView中定义的表。我正在使用OData调用后端来检索数据。我是这样做的 var oModel = new sap.ui.model.odata.ODataModel("url to data", true); var inputModel = new JSONModel(); oModel.read("/Products", null,
var oModel = new sap.ui.model.odata.ODataModel("url to data", true);
var inputModel = new JSONModel();
oModel.read("/Products",
null,
null,
false,
function _OnSuccess(oData, response) {
var data = oData.results;
inputModel.setData(data);
},
function _OnError(error) {
console.log(error);
});
//set model(s) to current xml view
this.getView().setModel(inputModel, "inputModel");
我如何做到这一点而不必创建JSON模型,我的意思是将oData直接绑定到XMLView
我已经看到了它的实现,但仅限于JSView,例如:
var oModel = new sap.ui.model.odata.v2.ODataModel("http://admin- think:88/sap/...",{useBatch : true});
sap.ui.getCore().setModel(oModel,"model1");
// Create instance of table
var oTable = new sap.ui.table.Table({
visibleRowCount : 6,
selectionMode: sap.ui.table.SelectionMode.Single,
navigationMode: sap.ui.table.NavigationMode.scrollbar,
selectionBehavior: sap.ui.table.SelectionBehavior.RowOnly
});
// First column "Application"
oTable.addColumn(new sap.ui.table.Column({
label : new sap.ui.commons.Label({
text : "APPLICATION",
textAlign : "Center",
}),
template : new sap.ui.commons.TextView({
textAlign:"Center"}).bindProperty("text","model1>Applno"),
}));
// Bind model to table control
oTable.bindRows("model1>/");
这样看来,这似乎是一个很大的工作。除了使用XML视图外,如何执行类似操作?XML代码:
<mvc:View
controllerName="sap.m.sample.Table.Table"
xmlns:l="sap.ui.layout"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m">
<Table id="idProductsTable"
inset="false"
items="{Data>/Table}">
<columns>
<Column>
<Text text="Name" />
</Column>
<Column>
<Text text="id" />
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text
text="{Data>name}" />
<Text
text="{Data>id}" />
</cells>
</ColumnListItem>
</items>
</Table>
</mvc:View>
你读过文档了吗?我读过一些(SAPUI5API和其他来源),但说实话,我并没有真正理解它。介意告诉我你指的是什么文档吗?我理解为什么有人会否决这样的问题,但我知道,UI5的文档是一个没有适当搜索功能的丛林,这对初学者来说很难@polaris:我建议花几天时间来完成开发指南中的演练步骤:毫无疑问,文档的结构应该得到改进。但即使是初学者也应该能够找到教程部分和处理绑定的部分。。。只要我的两分钱。。。
onAfterRendering : function(){
var oView = this.getView();
var oTableJSON = new sap.ui.model.json.JSONModel();
var fnSuccess = function(oEvent,oResponse){
var Data = {
Table : oData.results,
};
oTableJSON.setData(Data);
oView.byId("idProductsTable").setModel(oTableJSON,"Data");
};
oModel("/ProductionSet",null,null,true,fnSuccess,fnFail);
}