首页 > 解决方案 > sap.m.table 中不显示滚动条

问题描述

我正在使用 sap.m.table。行数太大,页面无法容纳。因此,我希望表格提供滚动条。但事实并非如此。

UI5 版本:1.68.1 在 Edge、Firefox、Chrome 中测试。

这是一个简单的演示应用程序,显示 1 个 1 列和 25 行的表。屏幕上只有前 18 个项目,但不提供滚动条:

App.controller.js

sap.ui.define([
    "sap/ui/core/mvc/Controller",
    "sap/ui/model/json/JSONModel",
], function(Controller, JSONModel) {
    "use strict";

    return Controller.extend("TableTest.controller.App", {

        onInit: function() {

            var data = {
                items: [
                    {
                        name: "item1"
                    },
                    {
                        name: "item2"
                    },
                    {
                        name: "item3"
                    },
                    ...
                ]
            };
            var oModel = new JSONModel(data);
            this.getView().setModel(oModel);

        }

    });
});

应用程序.view.xml

<mvc:View 
    controllerName="TableTest.controller.App" 
    xmlns:mvc="sap.ui.core.mvc"
    xmlns="sap.m">
    <Table
        id="table"
        items="{/items}">
        <headerToolbar>
            <Toolbar>
                <content>
                    <Title text="sap.m.Table"/>
                </content>
            </Toolbar>
        </headerToolbar>
        <columns>
            <Column>
                <Text text="Name"/>
            </Column>
        </columns>
        <items>
            <ColumnListItem>
                <cells>
                    <Text text="{name}"/>
                </cells>
            </ColumnListItem>
        </items>

    </Table>
</mvc:View>

结果 结果

标签: sapui5scrollbarsap-fiori

解决方案


我猜你正在使用Component.jsas 入口点启动你的应用程序,所以在你App.view.xml的表中

<Shell id="shell">
    <App id="app">
        <pages>
            <Page id="page" title="{i18n>title}">
                <content>
                    //your table here
                </content>
            </Page>
        </pages>
    </App>
</Shell>

推荐阅读