我有一个包含 15 列和大约 4000 行的表格。我需要使某些列可编辑,因此我为此使用了 TableFieldFactory。
问题是当我进入编辑模式时,加载速度真的很慢。当我向下滚动并且延迟加载加载另一个缓冲区时,可能需要 20 秒才能重新绘制表格。
即使只有一列可编辑,它的加载速度也慢得令人难以忍受。
@Override
public Field<?> createField(Container container, Object itemId, Object propertyId, com.vaadin.ui.Component uiContext) {
TextField tField = (TextField) DefaultFieldFactory.get().createField(container, itemId, propertyId, uiContext);
tField.setImmediate(true);
if (propertyId.equals("Foo") {
return tField;
}
else {
tField.setReadOnly(true);
}
return tField;
}
在一次延迟加载中,大约加载了 500-1000 行,因此 createField() 可能被调用了 7500-15000 次,但这是 Vaadin 的已知限制还是我做错了什么?当有这么多列时,也许我不应该首先使用 TableFieldFactory?
有谁知道是否有更好的方法来实现上述表,而不会获得这些疯狂的缓冲区加载时间?
提前致谢!