1

合計で 15 列と約 4000 行のテーブルがあります。一部の列を編集可能にする必要があるため、これには TableFieldFactory を使用しています。

問題は、編集モードに入ると、読み込みが非常に遅くなることです。下にスクロールすると、遅延読み込みによって別のバッファーが読み込まれ、テーブルが再描画されるまでに最大 20 秒かかることがあります。

編集可能な列が 1 つしかない場合でも、ロードが耐えられないほど遅くなります。

@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;
}

1 回の遅延読み込みで約 500 ~ 1000 行が読み込まれるため、createField() はおそらく 7500 ~ 15000 回呼び出されますが、これは Vaadin の既知の制限ですか、それとも何か間違っていますか? 非常に多くの列がある場合、そもそも TableFieldFactory を使用すべきではないのでしょうか?

これらのクレイジーなバッファロード時間を取得せずに、言及されたテーブルを実装するより良い方法があるかどうかは誰にも分かりますか?

前もって感謝します!

4

1 に答える 1