【发布时间】:2017-01-27 16:16:39
【问题描述】:
我有一个 UI5 应用程序,其中我的 XMLView 中定义了一个表。我正在使用 OData 调用后端来检索数据。我正在按照以下方式进行操作。
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 视图,我怎么能做这样的事情?
【问题讨论】:
-
您阅读文档了吗?
-
我已经阅读了一些(sapui5 api 和其他来源),但说实话我并没有真正理解。介意我指点您指的是什么文档?
-
我理解为什么有人会否决这样的问题,但恕我直言,UI5 的文档是一个没有适当搜索功能的丛林,这对初学者来说很难。 @polaris:我建议花几天时间完成开发指南中的演练步骤:openui5.hana.ondemand.com/#docs/guide/…
-
文档的结构应该改进,毫无疑问。但即使是初学者也应该能够找到教程部分和处理绑定的部分......只是我的两分钱......
标签: data-binding odata sapui5