1

ページ分割されたテーブルで使用できるように IndexedContainer を拡張しました。テーブルは未定義のサイズで設定されているため (アップライン階層も同様)、最初にレンダリングされるとき、つまりページ 1 では、すべての列の幅が動的に計算されますが、これは問題ありません。

別のページに切り替えると、カスタム IndexedContainer が新しいアイテムのセットをリロードし、これらがテーブルによって正常に取得およびレンダリングされます。ただし、テーブルは、新しい項目セットに従って列幅を調整しません。基本的に、列幅は、ページ 1 に対して動的に計算されたものとまったく同じです。

私はこれを手動で修正しようとしています:

  • すべての列で setColumnWidth(..., -1)
  • setSizeUndefined()、再びテーブルで
  • テーブルの setWidth(-1, ...)
  • テーブルとUIの両方でmarkAsDirty(Recursive)()

しかし、何も期待どおりに機能しませんでした。

任意の考えをいただければ幸いです。

( https://vaadin.com/forum#!/thread/4015043にも投稿)

4

1 に答える 1

1

https://vaadin.com/forum#!/thread/4015043で提案されているように、この問題 (項目セットの変更時に列のサイズが変更される) を克服するために、Table 内に実験的なalwaysRecalculateColumnWidthsブール値フラグがあります。フラグは保護され、false に初期化されており、セッターがまだないため、Table を拡張して true に設定する必要があります。

于 2013-09-16T07:35:12.477 に答える