[英]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.