繁体   English   中英

ui5 OData V4 - 如何使用自定义 updateGroupId 从表单创建实体

[英]ui5 OData V4 - How to create entity from Form with custom updateGroupId

我想使用表单添加新实体并在填写所有必需数据保存它。 因为这个对象很复杂,所以我不想直接在列表中填充数据。

我发现在使用 OData V4 时创建新实体的唯一方法是使用 sap.ui.model.odata.v4.ODataListBinding 上的 Create 方法。 来自 openUI5 文档的示例

不幸的是,我无法从同一视图上的其他视图甚至表单绑定到这个创建的实体。

也许这是错误的做法。 有人知道在没有与 OData V4 聚合绑定的情况下创建新实体的任何解决方案/示例吗?

我对这个问题的解决方案是在控制器中创建列表竞价,如下所示:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM