在我的表中,我渲染的行包含组件。将数据源加载到表后,有时会出现空字段(组件不可见,文本 - 是)。我没有任何异常(exception)。
当我滚动表格内容时会发生这种情况。刷新表数据源后一切正常。
怎么了? 附件中有一个例子。
最佳答案
我找到了解决方案。我认为这可能是一个错误。
无效的解决方案:
- 将数据加载到表
- 将包含数据的表格滚动到例如。表格内容的 50%
- 将新数据加载到表中
- 表格未显示所有组件
正确的解决方案:
- 将数据加载到表
- 将包含数据的表格滚动到例如。表格内容的 50%
- 将表格滚动到顶部、第一个表格项目
- 将新数据加载到表中
- 表格显示所有组件
在 Vaadin 7.4.1 中也存在同样的错误。也许重新创建表应该有帮助?
好的。现在可以了。这是临时解决方案。我重新创建表并将数据加载到新表中:
private void createTable() {
pzbs = (FilterTable) buildTable();
h.addComponent(pzbs);
h.setExpandRatio(pzbs, 1.0f);
}
private void recreateTable() {
h.removeComponent(pzbs);
createTable();
}
private Component buildRoutes() {
routes = new ListSelect() {
{
setNullSelectionAllowed(false);
setSizeUndefined();
setWidth(100.0f, Sizeable.Unit.PERCENTAGE);
setHeight(100.0f, Sizeable.Unit.PERCENTAGE);
setImmediate(true);
}
};
routes.addValueChangeListener((Property.ValueChangeEvent event) -> {
if (routes.getValue() != null) {
recreateTable();
countAndUpdatePercentage(countCorrectReadouts());
sendedToPSG.select(null);
selectedRoute = (KTREntity) routes.getValue();
updateTable();
}
});
return routes;
}
关于java - 瓦丁表 : no components in table,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28998073/