【问题标题】:Vaadin grid eager loadingVaadin 网格预加载
【发布时间】:2018-09-03 18:34:32
【问题描述】:

是否可以强制 Vaadin 8 网格从后端急切地加载所有行?目前它只显示屏幕上可见的记录,并在网格滚动时获取下一行。

【问题讨论】:

    标签: grid vaadin


    【解决方案1】:

    您可以使用grid.setHeightByRows(totalNumberOfItems); 这将导致网格一次显示所有元素,而没有滚动条。

    【讨论】:

    • 但我也需要滚动条。
    • 这可以通过例如将网格包装在面板中来实现,例如Panel panel = new Panel(grid); panel.setHeight("500px");
    【解决方案2】:

    不,延迟加载行为被硬编码到 Grid 中:https://github.com/vaadin/framework/blob/master/client/src/main/java/com/vaadin/client/widgets/Grid.java#L7222-L7224

    编辑添加,基于下面的评论:不是很硬编码,但你仍然需要客户端更改来实现非延迟加载网格(据我所知,之前没有人真正尝试过)。

    【讨论】:

    • 它不是完全硬编码的。您可以通过AbstractRemoteDataSource.setCacheStrategy 配置缓存策略。您仍然需要采取一些变通方法才能将自己的策略实现传递给该方法,但它仍然可行。
    猜你喜欢
    • 2017-12-11
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 2016-10-02
    • 1970-01-01
    • 2023-04-02
    相关资源
    最近更新 更多