簡體   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