一个“为”的事件;这一行刚刚被加载;在GWT单元框架中

一个“为”的事件;这一行刚刚被加载;在GWT单元框架中,gwt,gwt-2.2-celltable,Gwt,Gwt 2.2 Celltable,我有一个应该选择的行的ID列表,但没有将要选择的实际对象。例如,我知道应该选择用户16和25,但我没有代表它们的实例。这可能是因为它们位于我尚未加载的另一页数据上 我希望能够以编程方式选择这些用户,即使他们的数据尚未加载。我正在实现一个名为setselecteds()的函数,它工作得很好-我扫描所有可见对象,如果它们的id与我集合中的一个id匹配,我就将其设置为选中。同样,如果用户通过人机界面更改选择,我将捕获SelectionChangeEvent并确定是否应将id添加或删除到我的id支持列表

我有一个应该选择的行的ID列表,但没有将要选择的实际对象。例如,我知道应该选择用户16和25,但我没有代表它们的实例。这可能是因为它们位于我尚未加载的另一页数据上

我希望能够以编程方式选择这些用户,即使他们的数据尚未加载。我正在实现一个名为
setselecteds()
的函数,它工作得很好-我扫描所有可见对象,如果它们的id与我集合中的一个id匹配,我就将其设置为选中。同样,如果用户通过人机界面更改选择,我将捕获SelectionChangeEvent并确定是否应将id添加或删除到我的id支持列表中

实际问题是:
是否存在通过
updateRowData()
加载数据时总是触发的事件?
我的实现中唯一缺少的是处理新数据加载的方法。加载新数据时需要通知我,以便我可以决定是否选择它。RangeChangeEvents很快就会发生-这些处理程序在加载数据之前被触发,selectionModel.getSelected()返回一些空对象。RowCountChangeEvents仅在总行数更改时发生。我缺少什么?

您不能实现自己的
选择模型吗?当询问对象
是否被选中时,它会将其ID与所选ID列表进行比较。您甚至可以使用对象的键(由
ProvidesKey
提供)而不是硬编码的
getId
来概括它。是的,这是一个更好的主意。谢谢对于未来的读者:实际上,我最终对CellTable进行了子类化,以提供我上面提到的事件,它工作得相当好,但SelectionModel是实现我所需行为的一个更符合逻辑的地方。下一次!