如何解决数据在表SAP UI5中不可见
请找到控制器并查看以下代码:
我在SAP UI5中使用eclipse创建了一个表,但是数据不可见。 在控制台中没有错误,在“网络”选项卡中,所有呼叫均显示为已连接。
如何进行?
网络图像
控制台图像
控制器代码:
sap.ui
.controller(
"alp_report.alp",{
/**
* Called when a controller is instantiated and its View
* controls (if available) are already created. Can be used
* to modify the View before it is displayed,to bind event
* handlers and do other one-time initialization.
*
* @memberOf alp_report.alp
*/
onInit : function() {
that = this;
// debugger;
var sUrl = "proxy/http/igwd01.sap.com:8000/sap/opu/odata/sap/ZMSI_POLICY_SRV";
var path = "/poldtlsSet";
// Instantiate Model
var oModel = new sap.ui.model.odata.v2.ODataModel(sUrl,false);
this.getView("vw1").setModel(oModel);
debugger;
oModel.read(path,{
async : true,success : function(oData) {
debugger;
that.byId("lblCount").setText(
"Total Records(" + oData.results.length
+ ")");
var json = new sap.ui.model.json.JSONModel();
json.setData({
'modelData' : oData.results
});
that.getView().byId("oTable").setModel(oModel,"json");
},error : function(e) {
MessageToast.show("Failed");
}
});
},
请找到以下查看代码:
查看代码:
<core:View id="vw1" xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m" controllerName="alp_report.alp" xmlns:html="http://www.w3.org/1999/xhtml">
<Page title="ALP Report">
<content>
<Table id="oTable" items="{path:'/modelData'}">
<headerToolbar>
<Toolbar>
<Title level="H2" id="lblCount"></Title>
<SearchField id="searchField" width="auto"></SearchField>
</Toolbar>
</headerToolbar>
<columns>
<Column>
<Label design="Bold" text="Policy ID"></Label>
</Column>
<Column>
<Label design="Bold" text="Policy Number"></Label>
</Column>
<Column>
<Label design="Bold" text="Policy Begin Date"></Label>
</Column>
<Column>
<Label design="Bold" text="Journal No"></Label>
</Column>
<Column>
<Label design="Bold" text="Branch"></Label>
</Column>
<Column>
<Label design="Bold" text="Policy Status"></Label>
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<Text text="{SecpolId}"></Text>
<Text text="{PolicynrTt}"></Text>
<Text text="{PolbegDt}"></Text>
<Text text="{JournalnoId}"></Text>
<Text text="{ZzbranchCd}"></Text>
<Text text="{ZzPolicyStatusCd}"></Text>
</cells>
</ColumnListItem>
</items>
</Table>
</content>
</Page>
:View>
解决方法
-
Jorg谈到,有更简单的方法可以做到这一点,例如在创建oData模型后就直接绑定到实体集(不必手动触发oModel.read)。>
-
在您当前的实现中,
var json = new sap.ui.model.json.JSONModel(); json.setData({ 'modelData' : oData.results }); that.getView().byId("oTable").setModel(oModel,"json");
您已经创建了一个json模型,然后将其设置为表时,使用了包含OData模型的变量。应该
that.getView().byId("oTable").setModel(json,"json");
由于您是在渲染视图之后创建模型的,因此您可能还想一次json.refresh(true);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。