我正在嘗試開發具有智能控件的Sapui5應用程序。我已經嘗試使用.json文件開發應用程序,但現在我必須使用json模型數據,應用程序的controller.js文件。在這種情況下,如何將這個json模型數據與智能控件綁定。我分享我的代碼,請告訴我如何實現這一點。如何使用智能控件和json模型數據創建sapui5應用程序
鑑於:
<form:SimpleForm id="form1" minWidth="1024" maxContainerCols="2" editable="true" layout="ResponsiveGridLayout" labelSpanL="3" labelSpanM="3"
emptySpanL="4" emptySpanM="4" columnsL="1" columnsM="1" class="editableForm">
<form:content>
<smartField:SmartLabel labelFor="name"/>
<smartField:SmartField value="{name}" id="name"/>
</form:content>
</form:SimpleForm>
metadata.xml中
<EntityType Name="Model">
<Key>
<PropertyRef Name="id" />
</Key>
<Property Name="id" Type="Edm.String" Nullable="false"
sap:updatable="false" MaxLength="20" sap:label="id">
</Property>
<Property Name="name" Type="Edm.String" Nullable="false"MaxLength="30" sap:label="name">
</Property>
</EntityType>
在控制器:
var array = [{
"name" : "Dinesh",
"id" : "126522"
}];
var model = new sap.ui.model.json.JSONModel();
model.setData({
tableSet: array
});
this.getView().setModel(model,"testModel");
對於這個server.js文件應要求和我們會盡metadata.xml和json文件的條目,但在這裏我必須放置本地json模型路徑,所以我沒有得到如何做到這一點所以我不分享server.js文件。
請建議我並解決我的問題。
問候, 迪內希
嗨,謝謝你的回覆。在SAPUI5 Explored中,他們提供了具有JSON數據的智能控件示例在一個單獨的文件中。但我的要求是,從服務器我在view.controller.js文件內獲取數據作爲JSON格式。在這種情況下,如何將該json模型數據綁定到智能控件,以及智能表如何指定聚合綁定/註釋。 ***我沒有使用任何json文件**** – Dinesh
智能控件不正式支持使用JSON模型。 請參閱智能控件的[先決條件](https://sapui5.hana.ondemand.com/#docs/guide/0e84ac7c9d3e4acaa49e61e6ee808649.html)中的文檔,其中聲明智能控件需要默認的OData模型。 「Explored」示例包含帶有數據的JSON文件,但該數據由mockserver提供(它再次「說」OData)。 –
我同意你的觀點,OData模型是強制性的以獲得智能控件的所有好處,但在我的情況下,我們沒有使用來自Oracle數據庫的OData調用和數據,所以我們將其轉換爲json,然後綁定到UI。請爲我的問題提出可能的解決方法 – Dinesh