如何在sapui5中启用sap.m.Table中的滚动?

问题描述 投票:2回答:2

我已经实现了sap.m.Table但是没有显示所有记录。似乎也没有滚动选项。我浏览了api,它建议使用增长的,增长的阈值,增长smp.m.ListBase的ScrollToLoad。

这里的增长将使表控件能够加载更多项,growThreshold将确定每次增长时从模型请求的项数,getGrowingScrollToLoad将使用户能够滚动记录而不是显示加载的“更多”按钮更多数据。

然而,即使使用这些属性后,我的整个数据仍然没有得到渲染,我可以看到更多按钮而不是滚动条。在“更多”按钮下面,我能够看到一个数字,它确定要渲染的整个记录​​数以及在初始视图中渲染的记录数。

如果数据超出页面限制,滚动不应该是默认选项吗?我很困惑。请帮忙。

我也确实通过this帖子! :)

sapui5 sap.m
2个回答
5
投票

2019年3月8日更新:

现在有一种新方法可以在带有粘性选项的sap.m.Table中启用滚动。请查看API和示例以获取更多示例。建议采用这种新方法,并通过库直接提供支持和开发。检查:https://sapui5.hana.ondemand.com/#/api/sap.m.ListBase/methods/setSticky


旧答案:

鉴于问题如何精美设置,有选项:

  1. sap.ui.table.Table:使用固定标头滚动。
  2. sap.m.Table:增长列表,srcollable没有固定标题。

但很多时候我们需要一个sap.m.Table-可滚动但有静态头,所以表下面的内容不会进一步向下移动。以下代码将在此期间提供帮助。它有一个带有固定头的可滚动主体。

设置:我正在使用两个sap.m.Table实例,一个只有标题,另一个只用于数据。此外,我正在使用一个可滚动的容器,它容纳第二个表(没有标题)。由于Scrollable容器的固定宽度,我们看到一个滚动条。虚拟代码如下:

VIE W上。 XML:

<Table showNoData='false'>
            <columns>
                <Column>
                    <header>
                        <Text text='ID' />
                    </header>
                </Column>
                <Column>
                    <header>
                        <Text text='First Name' />
                    </header>
                </Column>
                <Column>
                    <header>
                        <Text text='Last Name'  />
                    </header>
                </Column>
                <Column>
                    <header>
                        <Text text='Gender' />
                    </header>
                </Column>
            </columns>
        </Table>
        <ScrollContainer height='20rem' vertical='true'> <!-- To have fixed with and enable vertical scrolling of data table -->
        <!-- Table to hold data, data ,data -->
            <Table class='tableHdr' items='{/}'> <!--  CSS class to hide the column header, otherwise we will have 2 headers. -->
                <columns>
                <!-- Dont need columns header, as upper table has already defined them. -->
                    <Column >
                    </Column>
                    <Column >
                    </Column>
                    <Column >
                    </Column>
                    <Column >
                    </Column>
                </columns>
                <items>
                    <ColumnListItem>
                        <cells>
                            <Text text='{id}' />
                            <Text text='{first_name}' />
                            <Text text='{last_name}' />
                            <Text text='{gender}' />

                        </cells>
                    </ColumnListItem>
                </items>
            </Table>
        </ScrollContainer>

现在,如果你执行上面没有这个样式类的代码,你最终会得到2个表中的2列标题。因此,要删除第二列标题,我使用以下类:

.tableHdr .sapMListTblHeaderCell {
            padding: 0rem;
}

想听听对此的反馈。


0
投票

默认情况下,如果sap.m.Table中有更多行,则会在那里滚动。你可以看到working example here

但是如果你想强制固定行可见性,你可以使用sap.ui.table.TablevisibleRowCountminAutoRowCount属性。

另请注意,如果sap.m.Table看不到垂直滚动条,请检查其他css是否覆盖该样式。否则,您可以使用完整的ui代码粘贴问题中的代码。

© www.soinside.com 2019 - 2024. All rights reserved.