SmartTable中没有数据

时间:2016-12-14 14:49:30

标签: sapui5

我正在尝试使用智能表调用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

4 个答案:

答案 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有关。