私はvaadin tree tableを使用しています、いくつかのビジネス基準を満たすいくつかの行の第1列colspan(テーブルの列の総数に等しい)を設定したいと思います。残りのテーブル行では、個々の列が正常に表示されます。
生成された列を使用して、明示的に列の幅を設定したり、複合列を設定したりしてみました。そうすることで、すべての行/列のレイアウトが変更されます。どうやってこれを達成するかをお勧めします。
ありがとうございます!Vaadinテーブル|どのようにcolspanを設定する
1
A
答えて
0
TreeTable#setColumnExpandRatio(String columnName, float value)
を呼び出して列の幅を設定できます。
以下の例では、「名前」列の幅を75%に設定しました。他に何も指定しなければ、残りの列は残りのスペースに収まります。
ttable.setColumnExpandRatio("Name", 0.75f);
ttable.setColumnExpandRatio("Number", 0.25f); //not necessary
私はVaadin帳から変更されている以下の例を試してみてください。
@Theme("mytheme")
public class MyUI extends UI {
@Override
protected void init(VaadinRequest vaadinRequest) {
final VerticalLayout layout = new VerticalLayout();
layout.setSizeFull();
TreeTable ttable = new TreeTable();
ttable.addContainerProperty("Name", String.class, null);
ttable.addContainerProperty("Number", Integer.class, null);
//Add some sample data
ttable.addItem(new Object[]{"Menu", null}, 0);
ttable.addItem(new Object[]{"Beverages", null}, 1);
ttable.setParent(1, 0);
ttable.addItem(new Object[]{"Foods", null}, 2);
ttable.setParent(2, 0);
ttable.addItem(new Object[]{"Coffee", 23}, 3);
ttable.addItem(new Object[]{"Tea", 42}, 4);
ttable.setParent(3, 1);
ttable.setParent(4, 1);
ttable.addItem(new Object[]{"Bread", 13}, 5);
ttable.addItem(new Object[]{"Cake", 11}, 6);
ttable.setParent(5, 2);
ttable.setParent(6, 2);
ttable.setColumnExpandRatio("Name", 0.75f);
ttable.setColumnExpandRatio("Number", 0.25f);
ttable.setSizeFull();
layout.addComponents(ttable);
layout.setMargin(true);
layout.setSpacing(true);
setContent(layout);
}
@WebServlet(urlPatterns = "/*", name = "MyUIServlet", asyncSupported = true)
@VaadinServletConfiguration(ui = MyUI.class, productionMode = false)
public static class MyUIServlet extends VaadinServlet {
}
}
0
あなたがcom.vaadin.ui.Table.setRowGenerator
使用することができます。Java 8 + Vaadinで
例を7.6.1
setRowGenerator((Table table, Object itemId) -> {
if (itemId instanceof MyClassThatIdentifiesARowToMerge) {
Table.GeneratedRow generatedRow = new Table.GeneratedRow("text-of-merged-cell");
generatedRow.setSpanColumns(true);
return generatedRow; // merge
}
return null; // doesn't merge
});
関連する問題
- 1. 最新のVaadinフレームワークでVaadin-spring-boot-startterを使用するようにVaadinプロジェクトを設定する方法
- 2. vaadinテーブルにカスタムソートを設定するにはどうすればよいですか?
- 3. Vaadinテーブルの列ヘッダーにダブルテキスト行を設定する方法
- 4. Vaadinテーブルの文字列をLocalDateに設定する
- 5. セルのcolspan/rowspanを設定します
- 6. VaadinテーブルをVaadinグリッドに変換する
- 7. テーブルをVaadinに表示するにはどうすればよいですか?
- 8. Vaadinはテーブルの選択行を設定します
- 9. Vaadinリクエスト内でLiferayのAPPLICATION_SCOPEに属性を設定するにはどうすればよいですか
- 10. Vaadin JPAContainer2.0でHibernateを設定する
- 11. テーブルの 'colSpan'列ヘッダーを値で非表示にするにはどうすればよいですか?
- 12. colspanを使用して複数の列にまたがるようにセルを設定する
- 13. テーブルでブートストラップのドロップダウンボタンをどのようにスタイル設定するのですか?
- 14. Nokogiriを使用してテーブル行を解析するとき、colspanをどのように考慮しますか?
- 15. テーブルのcolspanがメールにあります
- 16. HTML、テーブルcolspanの問題
- 17. HRブレークのクラスを設定するTD colspan
- 18. 特定のスキーマにテーブルを作成するようにJaVersを設定する
- 19. Vaadin ValueChangeEvent特定のテーブル列のgetProperty
- 20. グリッドの各列の幅を設定 - Vaadin
- 21. ユーザーコンテキスト/テーブルを設定するにはどうすればよいですか?
- 22. vaadinどのようにselectivivetboxにチェックボックスを入れるか
- 23. どのようにテーブルがnullの場合にプロパティテーブルを設定しますか?
- 24. 動的にcolspan jqueryを設定します
- 25. beanitemcontainerでvaadinのコンボボックスの値を設定するには?
- 26. 応答テーブルとrowspanとcolspan
- 27. テーブルがどのように設定されているかを知りたい
- 28. Vaadin - 設定ウィンドウのサイズ、その内容
- 29. Ruby On Rails 3でテーブルMySQLテーブルのエイリアスを設定するにはどうすればよいですか?
- 30. vaadin FormLayoutカスタム左:右コンポーネントの設定
' TreeTable#setColumnExpandRatio(String columnName、float value) 'は、すべての行の列幅を更新します。私の必要条件は、いくつかの行(すべての行ではない)のセルの一部の幅を拡張することです。ありがとう。 – masT
TBH、これは実現可能だとは思わない。列の幅は「グローバル」なので、特定の行に設定することはできません。列を見たテーブルはすべて「整列」しています。あなたはツリーグリッドアドオンを試すことができます。それはグリッドを拡張し、より良い調整やグループ化された列の作成を可能にします。それ以外の場合は、あなたのUIを再考するかもしれないと思います。あなたがダイアグラムやスキームを持っているなら、間違いなく助けになるでしょう。 –