我正在尝试使用智能表调用OData服务。首先,我创建了一个简单的表,然后我可以看到表中的数据。然后我在同一页面上添加了SmartTable,但它没有显示任何数据。甚至没有创建任何列。可能是什么原因?
<mvc:View controllerName="com.siemens.hc.controller.View1" xmlns:html="http://www.w3.org/1999/xhtml" xmlns:mvc="sap.ui.core.mvc"
xmlns="sap.m" xmlns:smartField="sap.ui.comp.smartfield" xmlns:smartFilterBar="sap.ui.comp.smartfilterbar"
xmlns:smartTable="sap.ui.comp.smarttable">
<App>
<pages>
<Page title="{i18n>title}">
<content>
<Table id="idProductsTable" inset="false" items="{/SafetyUpdateSet}">
<headerToolbar>
<Toolbar>
<Title text="Product" level="H2"/>
</Toolbar>
</headerToolbar>
<columns>
<Column width="12em">
<Text text="Product"/>
</Column>
</columns>
<items>
<ColumnListItem>
<cells>
<ObjectIdentifier title="{Notification}"/>
</cells>
</ColumnListItem>
</items>
</Table>
<smartTable:SmartTable id="smartTable_ResponsiveTable" tableType="ResponsiveTable" editable="false" entitySet="SafetyUpdateSet"
useVariantManagement="false" useTablePersonalisation="false" header="Notification" showRowCount="true" useExportToExcel="false"
enableAutoBinding="true">
</smartTable:SmartTable>
</content>
</Page>
</pages>
</App>
</mvc:View>
我在neo-app.json文件中创建了目标,并在Manifest.json文件中创建了模型。
此致 Mayank
答案 0 :(得分:1)
我必须在SmartTable中手动定义列。
<smartTable:SmartTable id="smartTable_ResponsiveTable" tableType="ResponsiveTable" editable="false" entitySet="EntitySet"
useVariantManagement="false" useTablePersonalisation="false" header="Notification" showRowCount="true" useExportToExcel="false"
enableAutoBinding="true" initiallyVisibleFields="Col1,Col2,Col3,Col4,Col5"></smartTable:SmartTable>
答案 1 :(得分:0)
您的模型名为&#34; invoice&#34;。根据{{3}}智能控件不支持命名模型。
答案 2 :(得分:0)
如果您的oData服务支持注释,您也可以使用注释文件。创建新的注释文件,注释实体集,并添加LineItem / DataField注释。那应该显示你选择的字段。
<Annotations Target="<oData.Service>">
<Annotation Term="UI.LineItem">
<Collection>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="Field1"/>
<PropertyValue Property="Label" String="{i18n>Field1Label}"/>
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="Field2"/>
<PropertyValue Property="Label" String="{i18n>Field2Label}"/>
</Record>
<Record Type="UI.DataField">
<PropertyValue Property="Value" Path="Field3"/>
<PropertyValue Property="Label" String="{i18n>Field3Label}"/>
</Record>
</Collection>
</Annotation>
</Annotations>
如果oData字段名称符合您的喜好,您可以省略'label'属性。
答案 3 :(得分:0)
我刚遇到这个错误。
这可以通过添加
来解决xmlns:app="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
在视图的顶部。虽然我找不到添加此内容的任何理由/解释,但我相信这与FlexItemData有关。