我在表控件中遇到了绑定的odata,我希望你们中的一位专家可以省下毫秒来告诉我我在哪里搞砸了。
我可以从后端服务器中获取ODATA信息 - 第一步是我只想在带有列的表中显示它,第二步是向用户提供一个分段按钮以启用/禁用国家数据的处理。让我们立即显示数据。
这是从后备返回的ODATA后端odata
这是我的createcontent代码 - 我想在JavaScript中进行:
var oTable = new Table({
height: '100%',
firstVisibleRow: 0,
visibleRowCountMode: sap.ui.table.VisibleRowCountMode.Auto,
selectionMode: sap.ui.table.SelectionMode.None,
selectionBehavior: sap.ui.table.SelectionBehavior.RowOnly
}).addStyleClass('suggCompTableStyle');
var oColName = new sap.ui.table.Column().setLabel('{i18n>txt_countryName}').bindElement("/data>LANDX");
oTable.addColumn(oColName);
var oModel = sap.ui.getCore().getModel();
oModel.callFunction("/getCountryActiveList",
"GET",
{SPRAS: 'E'},
null,
function(oData, oResponse)
{ oTable.setModel( new sap.ui.model.json.JSONModel({data : oData.results}));
oTable.bindRows("/data");
alert("ok"); },
function(oError) {alert("err"); });
/* eslint-enable no-alert */
oTable.placeAt("content");
var oPage = new sap.m.Page({
title: "{i18n>title}",
content: [
oTable
]
});
var app = new sap.m.App("myApp", {
initialPage: "oPage"
});
app.addPage(oPage);
return app;
}/* end createContent function */
我的表是用正确数量的行创建的,但没有显示列数据。我想我对如何绑定列数据感到困惑?
感谢您的帮助。史蒂夫
问题在您的绑定oTable.bindRows("/data");
中。
bindrows 方法正在期望类型sap.ui.table.Row
的行模板控制。
您可以查看https://sapui5.hana.ondemand.com/#/api/sap.ui.base.base.managedobject/methods/bindaggregation,以获取更多信息。 bindrows 方法期望一个输入参数等于 bindaggregation 的 obindinginfo 从上面的链接i。