我尝试使用UI5智能表单,但不知何故它没有显示。 我有一个Overview表,当点击表格中的一个项目时,我希望该特定项目以智能形式显示。
我收到以下错误消息: 无法从Path / Component-changes.json加载Component-changes.json。检查未找到的文件'或解析错误。 我不确定绑定到表单的模型是否有效,因为我不确定是否加载了OData模型并且单击了项目的id是否绑定到表单。
这是我的xml-view:
<core:View
xmlns:core="sap.ui.core"
xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m"
xmlns:sfo="sap.ui.comp.smartform"
xmlns:sfi="sap.ui.comp.smartfield"
controllerName="RoutingTest.WebContent.views.DetailedView1"
xmlns:html="http://www.w3.org/1999/xhtml">
<Page id="pageId">
<content>
<sfo:SmartForm id="smartForm" editTogglable="true"
flexEnabled="false">
<sfo:Group id="idGroup1" label="Partner">
<sfo:GroupElement>
<sfi:SmartField value="{PARTNERID}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{PARTNERROLE}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{EMAILADDRESS}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{PHONENUMBER}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{FAXNUMBER}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{WEBADDRESS}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{ADDRESSES.ADDRESSID}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{COMPANYNAME}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{LEGALFORM}"/>
</sfo:GroupElement>
</sfo:Group>
<sfo:Group label="History">
<sfo:GroupElement>
<sfi:SmartField value="{HISTORY.CREATEDBY.EMPLOYEEID}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{HISTORY.CREATEDAT}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{HISTORY.CHANGEDBY.EMPLOYEEID}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{HISTORY.CHANGEDAT}" />
</sfo:GroupElement>
<sfo:GroupElement>
<sfi:SmartField value="{CURRENCY}" />
</sfo:GroupElement>
</sfo:Group>
</sfo:SmartForm>
</content>
</Page>
来自Controller:
var oModel=new
sap.ui.model.odata.ODataModel("./services/BusinessPartners2.xsodata/",
true);
var oSmartForm=this.getView().byId("smartForm");
oSmartForm.setModel(oModel);
oSmartForm.bindElement("/BusinessPartners('0100000041')");
//oView = this.getView();
//oView.setModel(oModel);
//oView.bindElement("/BusinessPartners('0100000041')");
评论中的版本也不起作用。
感谢您的帮助!