gpt4 book ai didi

java - CellTable 高度在分页时缩小

转载 作者:行者123 更新时间:2023-11-30 08:27:22 26 4
gpt4 key购买 nike

重要::此问题与另一个问题完全不同 similarly titled关于 Stack Overflow 的问题。

在 GWT 2.5.1 中,我有一个 CellTable 与 RPC 支持的 AsyncDataProvider 完美结合。 RPC 的响应速度极快,响应时间不到 20 毫秒。

我遇到的问题是,当我翻阅表格时,浏览器中的表格似乎出现了闪烁。经过一些调试,我看到表格没有显示任何数据行,然后在几毫秒内它恢复了下一页的行。

每次我移动页面(其中 10 是任意页面大小)时,这表现为以下快速的 UI 事件序列:

  1. 显示当前页面(10 条记录)
  2. 显示空白页(0 条记录)
  3. 显示下一页(10 条记录)

为了帮助确定问题是否出在相关寻呼机小部件的事件处理程序上,我添加了一个按钮(纯粹用于测试目的)以手动更改表中的页面。以下按钮与通过单击寻呼机小部件进行寻呼具有完全相同的症状。

    _movePageForwardButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
_table.setPageStart(_table.getPageStart()+10);
}
});

我已经进行了谷歌搜索,找到了 this post (我从中借用了这个问题的标题),它描述了与我目前正在经历的完全相同的症状。没有提供解决方案,我必须假设其他人也遇到过同样的问题并制定了自己的解决方法。我们将非常乐意接受解决方法。

最佳答案

我遇到了同样的问题。解决方案是在异步处理开始之前立即设置 rowData(设置为一些临时值),因此与此同时,您的 CellList 可以显示一些内容:

dataProvider = new AsyncDataProvider<StringEntity>() {

@Override
protected void onRangeChanged(final HasData<StringEntity> display) {
final Range visibleRange = display.getVisibleRange();
final int start = visibleRange.getStart();
final int length = visibleRange.getLength();

final List<StringEntity> subList = new ArrayList<StringEntity>();
for (long position = start; position < start + length; position ++)
subList.add(new StringEntity(position, "Please wait..."));

display.setRowData(start, subList);

// now perform your request...
// onSuccess, set the rowData again (to the updated values)
}
}

关于java - CellTable 高度在分页时缩小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20915197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com