数据在表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>

解决方法

  1. Jorg谈到,有更简单的方法可以做到这一点,例如在创建oData模型后就直接绑定到实体集(不必手动触发oModel.read)。>

  2. 在您当前的实现中,

    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);

刷新模型绑定

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...