在 Vaadin 中,当您在表格中向下或向上滚动时 (com.vaadin.ui.Table)不会触发任何事件来告诉您用户正在滚动。
为什么我们需要在表格中滚动事件?
我们先来看看 Vaadin 这个例子(仪表板演示 http://demo.vaadin.com/dashboard/#!/transactions)打开链接后,只需点击“登录”,您就会自动重定向到交易页面,该页面显示一个金融交易表格,这些交易在您滚动时会显示一批又一批,实际发生的情况是数据在 UI 启动时加载(所有事务)。
现在,假设我们有数千甚至数百万笔交易。当 UI 启动时将它们全部加载在一起是否符合逻辑?一点一点地加载它们以防止在等待所有事务加载时减慢 UI 速度,这不是明智之举吗?
解决此问题的最佳解决方案是获取第一个(例如 100 个交易),然后在向下滚动时获取更多交易,但此解决方案只有一个problem,即Vaadin不支持滚动事件处理 in com.vaadin.ui.Table!
根据您的问题,您正在寻找延迟加载。
如果您将表与支持延迟加载的容器连接,您的项目将从其数据源延迟加载。这意味着当您滚动并退出缓冲项目时,表“询问”容器更多项目。然后容器从其数据源加载更多项目。
例如JPA容器 https://vaadin.com/directory#addon/vaadin-jpacontainer来自 Vaadin 的支持该功能。该容器使用 JPA 连接到数据源。更多信息here https://vaadin.com/book/-/page/jpacontainer.html.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)