我在一些布局中有一个Table组件,我不希望它显示任何滚动条。
该表将始终只显示25行,宽度应始终为720px。但是,该表一直显示垂直和水平滚动条,我无法弄清楚如何。有趣的是(虽然我现在哭得很厉害),有时滚动条会消失。当我不断刷新页面时,有时它们会消失,一切都很好。
以下是经过数小时调试后收集的几个信息:
我一定错过了什么。很多人都有这个问题,我在vaadin页面上直接找到了很多线程,但是没有这个确定无效的解决方案。
编辑代码:
Table t = new Table();
t.setWidth("720px");
t.setImmediate(true);
t.setSelectable(true);
// Headers
t.addContainerProperty("fullName", String.class, null, "Meno", null, null);
t.setColumnExpandRatio("fullName", 22);
t.addContainerProperty("dateOfBirth", Date.class, null, "Narodenie", null, null);
t.setColumnExpandRatio("dateOfBirth", 18);
t.addContainerProperty("lastYearCosts", BigDecimal.class, null, "Náklady", null, null);
t.setColumnExpandRatio("lastYearCosts", 10);
t.addContainerProperty("lastYearBalance", BigDecimal.class, null, "Saldo", null, null);
t.setColumnExpandRatio("lastYearBalance", 10);
t.addContainerProperty("activeClient", ComparableBooleanEmbeddedIcon.class, null, "", new ThemeResource("icons/icon-app-header-medipartner.png"), Table.ALIGN_CENTER);
t.setColumnExpandRatio("lastYearBalance", 8);
t.addContainerProperty("dmsCount", String.class, null, "", new ThemeResource("icons/icon-app-header-heart.png"), null);
t.setColumnExpandRatio("dmsCount", 8);
t.addContainerProperty("authCount", String.class, null, "", new ThemeResource("icons/icon-app-header-warnings.png"), null);
t.setColumnExpandRatio("authCount", 8);
t.addContainerProperty("book", CssLayout.class, null, "Objednať", null, Table.ALIGN_CENTER);
t.setColumnExpandRatio("book", 16);
然后,我只是用addItem(Object [] item)填充行。
答案 0 :(得分:8)
我有同样的问题 - 恼人的滚动条。我使用自己的主题并重写css样式来修复它。
要在Application
的实施中执行此操作,您必须设置主题调用setTheme("mytheme")
。
然后,当您定义表时,您可以使用自己的样式(以区分有问题的表与其他表):
Table table = new Table()
table.addStyleName("mystyle")
然后你必须在VADIN/themes/mytheme/styles.css
中定义自己的css样式:
@import "../reindeer/styles.css";
.v-table-mymodel .v-scrollable {
overflow: hidden;
}
答案 1 :(得分:3)
你应该使用
table.setPageLength(0);
它将删除vaadin表中的所有滚动条。
答案 2 :(得分:1)
试
grid.recalculateColumnWidths()