0

我们正在为中型后台应用程序构建新的下一代服务器。我们已经决定要为客户端使用 java 框架(gwt \ vaadin \ zkoss)

我们现在想要的是为每种技术创建一个概念验证示例。

我们的后台用户界面非常标准,我们有带有过滤器的表格\网格,这些过滤器应该直接显示来自数据库的条目。

问题是我们在每个表中都有大量行(最少 1M),这意味着我们必须为它们使用按需加载表。

我的问题是:如何为我的大表实现按需加载表?我环顾四周,一次又一次地看到以下概念:

您创建一个容器,用数据填充它,数据显示在客户端。

问题是我尝试了这种天真的方式来填充具有 1M 条目的容器,这很糟糕。有没有内置的按需容器?>

任何代码示例\参考将是一个巨大的帮助!

4

2 回答 2

0

Vaadin has a nice concept of lazy loading data in most of the components. For example the table, list, dropdown's etc. have that concept.

The only thing you realy need to know at start, is the number of total rows. Everything else can then be handled "ondemand".

For example the Table component initially only loads about 30 rows (can be customized) and then fetches rows as needed. (Or better they are usually fetched just before the user scrols to the next rows)

A example is this demo

http://demo.vaadin.com/dashboard/#!/transactions

How you retrieve the data from your backend depends on the technology used. But vaadin has working concepts where you don't need to load all 1mio. rows into memory, it will handle the "fetch on demand" as the rows need to be displayed.

于 2013-10-03T20:02:49.880 回答
0

您可能希望使用具有 的GWT Cell Table,它AsyncDataProvider允许您通过从服务器获取数据来处理用户的分页和排序事件。

它还提供了一种替代方法ListDataProvider,可让您将数据作为对象列表获取,然后将该数据设置到您的表中。如果使用ListDataProvider,则必须定义如何使用Comparators 对对象进行排序,并且 table 将处理对该列表的排序和分页。

谷歌“gwt celltable asyncdataprovider example”获取更多示例和教程。

于 2013-10-03T17:20:28.900 回答