Отображение набора сущностей Odata в виде таблицы при нажатии кнопки поиска - SAP UI5 - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть страница с кнопкой поиска. При нажатии на кнопку поиска, я пытаюсь отобразить продукты и их детали. Я успешно извлекаю данные в своих «одатах», я вижу это в своей консоли. Однако я не вижу свою таблицу, и я получаю сообщение об ошибке «Утверждение не выполнено: EventProvider.attachEvent: fnFunction должна быть функцией». Я делаю все отображения таблицы в моем контроллере. MaterailSet в моем Entityset от Backend, который все 5 данных столбца. Что я делаю не так в своем Binding.

onInit: function () {
        var oModel = new sap.ui.model.odata.v2.ODataModel("/sap/opu/odata/sap/Z_MATERIAL_LIST_SRV/");
        sap.ui.getCore().setModel(oModel);

    },
    onSearchProduct: function (oEvt) {

        var oModel = new sap.ui.model.odata.v2.ODataModel("/sap/opu/odata/sap/Z_MATERIAL_LIST_SRV/", true);
        var oJsonModel = new sap.ui.model.json.JSONModel();

        oModel.read("/MaterialSet", {
            success: function (oData, oResponse) {
                oJsonModel.setData(oData);
                sap.ui.getCore().setModel(oJsonModel,"MaterailSet");
            },
            error: function (oError) {
                // Error Handling Here by divya
            }
        });

        var oTable = new sap.ui.table.Table();

        oTable.addColumn(
            new sap.ui.table.Column({
                label: new sap.ui.commons.Label({
                    text: "MaterialNumber"
                }),

                template: new sap.ui.commons.TextField({
                    value: "{MaterialNumber}"
                }),
                width: "100px"
            }));
        // 2nd column “MaterialDescription”
        oTable.addColumn(new sap.ui.table.Column({
            label: new sap.ui.commons.Label({
                text: "MaterialDescription"
            }),
            template: new sap.ui.commons.TextField({
                value: "{MaterialDescription}"
            }),
            width: "100px"
        }));
        // 3rd column “MaterailType”
        oTable.addColumn(new sap.ui.table.Column({
            label: new sap.ui.commons.Label({
                text: "MaterailType"
            }),
            template: new sap.ui.commons.TextField({
                value: "{MaterailType}"
            }),
            width: "100px"
        }));
        // 4th column “MaterailGroup”
        oTable.addColumn(new sap.ui.table.Column({
            label: new sap.ui.commons.Label({
                text: "MaterailGroup"
            }),
            template: new sap.ui.commons.TextField({
                value: "{MaterailGroup}"
            }),
            width: "100px"
        }));
        // 5th column “MateriialUnit”
        oTable.addColumn(new sap.ui.table.Column({
            label: new sap.ui.commons.Label({
                text: "MateriialUnit"
            }),
            template: new sap.ui.commons.TextField({
                value: "{MateriialUnit}"
            }),
            width: "100px"
        }));

        oTable.setModel(oJsonModel);
        oTable.bindRows("MaterialSet>/MaterialSet");

        return oTable;
...