У меня есть страница с кнопкой поиска. При нажатии на кнопку поиска, я пытаюсь отобразить продукты и их детали. Я успешно извлекаю данные в своих «одатах», я вижу это в своей консоли. Однако я не вижу свою таблицу, и я получаю сообщение об ошибке «Утверждение не выполнено: 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;