GWT 等待 setVisibleRangeAndClearData 完成
Posted
技术标签:
【中文标题】GWT 等待 setVisibleRangeAndClearData 完成【英文标题】:GWT wait for setVisibleRangeAndClearData to finish 【发布时间】:2012-10-25 12:51:59 【问题描述】:这是 GWT 中经典的“等待 rpc 调用问题”的变体。
我在 GWT 中完成了一个完整的 CRUD 屏幕,调用 RPC 来攻击 Oracle 数据库。它有一个用于搜索条件和结果表的面板,另一个用于详细信息字段。我根据需要交换两者的可见性。
结果表是一个 CellTable,我调用“setVisibleRangeAndClearData”方法来填充表,该表负责分页、列排序等(例如,当我从更新 RPC 调用返回时,我保留我来自的范围)。
我曾经通过将“后代码”放在 RPC 调用的“onSuccess”块中(即交换面板)来进行“同步”,但是当调用“setVisibleRangeAndClearData”时,cellTable 本身会启动另一个 RPC 调用获取我无法控制的新数据。所以,发生的事情是我交换了面板(这是即时的),然后用户看到表数据更新,这很丑。
所以问题是:我该如何控制它?当“setVisibleRangeAndClearData”完成时,我该如何等待或被调用?
提前致谢,
大卫
【问题讨论】:
【参考方案1】:立即显示表格然后用数据填充它并不难看 - 事实上,从 UI 角度来看,这是正确的解决方案。用户期望他们的操作立即产生结果,并在按下按钮后立即向他们显示加载指示器是正确的方法。
CellTable 有两种您可能会觉得有用的方法:
setLoadingIndicator() - 你的表格应该在数据到达之前显示它;
onLoadingStatusChange().
【讨论】:
以上是关于GWT 等待 setVisibleRangeAndClearData 完成的主要内容,如果未能解决你的问题,请参考以下文章