我有一个继承自CellTree
. 如果节点没有子元素,则可以打开该节点并显示"no data"
标签。
我希望看到没有子节点的节点显示为空。
我就是这样填满树的。我的DictionaryTreeDataProvider
班级(相关部分):
public class DictionaryTreeDataProvider extends ListDataProvider<MValue> {
private final DictionariesServiceAsync service = GWT.create(DictionariesService.class);
...
@Override
public void onRangeChanged(HasData<MValue> result) {
service.queryDictionaryValues(range, query, new AsyncCallback<SubsetResult<MValue>>() {
@Override
public void onFailure(Throwable t) {
}
@Override
public void onSuccess(SubsetResult<MValue> result) {
getList().clear();
for (MValue value : result.items) {
getList().add(value);
}
}
});
}
}
在服务器端,我进行 EJB 调用来填充SubsetResult
. 我发现这个问题在 GWT-2.5.0-rc2 版本中得到解决(参见https://groups.google.com/forum/#!topic/google-web-toolkit/d-rFUmyHTT4)。
现在一切正常,感谢@moutellou。我按照他的建议做了:
...
@Override
public void onSuccess(SubsetResult<MValue> result) {
if (result.length == 0) {
updateRowCount(-1, true);
return;
} else {
for (MValue value : result.items) {
// some checks here
getList().add(value);
}
}
}
...