У меня есть таблица с 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, когда у меня так много столбцов?
Кто-нибудь знает, есть ли лучший способ реализовать упомянутую таблицу, не получая эти сумасшедшие времена загрузки буфера?
Заранее спасибо!