vaadin-grid を使用しており、行を選択するときに行の詳細ビューを使用したいと考えています。これは、テーブルに多くの行がある限り機能します。一部のテーブル データをフィルター処理し、テーブルが小さくなるとします。
行を選択すると、グリッドが小さすぎるため、行の詳細ビューを表示できなくなります。
グリッドが最小の高さよりも小さくなるのを防ぐにはどうすればよいですか?
vaadin-grid を使用しており、行を選択するときに行の詳細ビューを使用したいと考えています。これは、テーブルに多くの行がある限り機能します。一部のテーブル データをフィルター処理し、テーブルが小さくなるとします。
行を選択すると、グリッドが小さすぎるため、行の詳細ビューを表示できなくなります。
グリッドが最小の高さよりも小さくなるのを防ぐにはどうすればよいですか?
データ コンテナーを使用して、詳細ジェネレーター内でグリッドの高さを再計算できます。これは最終的な解決策ではありませんが、スクロールバーを使用せずにグリッドの高さを動的に変更するという私のニーズには最適です。
Grid table...
table.setHeightMode(HeightMode.ROW);
table.setDetailsGenerator(new DetailsGenerator() {
public Component getDetails(RowReference rowReference) {
table.setHeightByRows(tableContainer.getItemIds().size() + 4);
//detalis height is constant so I solve this by adding extra space which equals the size of 4 the rows
//
//for filtered container you can use tableContainer.getVisibleItemIds()
}
}
その助けを願っています。より良い解決策を見つけたら、ここに投稿してください。私はそれをチェックしませんでしたが、詳細ジェネレーターの内部でコンポーネントをダーティとしてマークするのはどうですか?