OData V4 ui5 - Как создать сущность из формы с пользовательским updateGroupId - PullRequest
0 голосов
/ 07 декабря 2018

Я хотел бы добавить новую сущность, используя форму, и сохранить ее после , заполнив все необходимые данные.Поскольку эти объекты сложны, я не хочу заполнять данные непосредственно в списке.

Единственный способ, которым я нашел создание новой сущности при использовании OData V4, - это использование метода Create в sap.ui.model.odata.v4.ODataListBinding. пример из документации openUI5

К сожалению, я не могу привязать этот созданный объект из другого представления или даже формы в том же представлении.

Может быть, это неправильный подход.Кто-нибудь знает какое-либо решение / пример создания нового объекта без агрегирования привязки с OData V4?

1 Ответ

0 голосов
/ 07 августа 2019

Мое решение для этой проблемы состояло в том, чтобы создать привязку списка в контроллере следующим образом:

var oItemTemplate = new sap.m.ColumnListItem();
this._oBindList = new sap.m.List({
            items: {
                path: "/somePath",
                parameters: {
                    $$operationMode: "Server",
                    $$updateGroupId: "SOME_GROUP"
                },
                length: 1,
                template: oItemTemplate
            }
        });
this.getView().addDependent(this._oBindList);

Затем я связываю JSONModel с соответствующей структурой для View.Когда пользователь нажимает кнопку Добавить, я просто вызываю метод Create в этом списке, привязывая данные из JSONModel

var newData = this.getView().getModel("ModelName").getData();
var oJsonData = JSON.parse(newData);
var oBinding = this._oBindList.getBinding("items");

oBinding.create(oJsonData);
...