首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >GWT在使用RPC向下滚动时加载批量数据

GWT在使用RPC向下滚动时加载批量数据
EN

Stack Overflow用户
提问于 2016-06-09 16:26:20
回答 2查看 198关注 0票数 0

我希望显示批量数据,如cell list,但我的问题是,我想要显示50条记录(我将加载50个数据到单元格列表),当用户向下滚动我的RPC服务将加载25 more.On上面的例子,我们必须加载所有的数据,但我不想加载整个数据到单元格列表,我希望加载更多的当用户向下滚动。

EN

回答 2

Stack Overflow用户

发布于 2016-06-09 16:52:54

可以使用以下方法来完成此操作

1)捕获单元格列表中显示的最后一条记录的索引。此参数帮助我们查询下一组记录。

2)当用户向下滚动到想要加载更多记录的位置时,触发一个事件

3)处理事件,该事件使用最后一个显示记录的索引命中您的RPC服务。

4)更改您的RPC服务以处理index(上次显示的记录索引)参数。

5)收到响应后,使用新记录更新单元格列表,更新时应将新接收到的数据追加到已有的单元格列表数据中。

票数 0
EN

Stack Overflow用户

发布于 2016-06-15 19:45:23

我用示例example做到了这一点,我只是把我自己的函数放到了ShowMorePagerPanel自定义类中。

代码语言:javascript
复制
 public ShowMorePagerPanel() {
initWidget(scrollable);

// Do not let the scrollable take tab focus.
scrollable.getElement().setTabIndex(-1);

// Handle scroll events.
scrollable.addScrollHandler(new ScrollHandler() {
  public void onScroll(ScrollEvent event) {
    // If scrolling up, ignore the event.
    int oldScrollPos = lastScrollPos;
    lastScrollPos = scrollable.getVerticalScrollPosition();
    if (oldScrollPos >= lastScrollPos) {
      return;
    }

    HasRows display = getDisplay();
    if (display == null) {
      return;
    }
    int maxScrollTop = scrollable.getWidget().getOffsetHeight()
        - scrollable.getOffsetHeight();
    if (lastScrollPos >= maxScrollTop) {
      // now we can add more data
      **createData(); // creates 30 more data with RPC service**
      int newPageSize = Math.min(
          display.getVisibleRange().getLength() + incrementSize,
          display.getRowCount());
      display.setVisibleRange(0, newPageSize);
    }
  }
});

}

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37720585

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档