【发布时间】:2012-02-16 10:58:53
【问题描述】:
我在一些布局中有一个 Table 组件,我不希望它显示任何滚动条。
表格将始终仅显示 25 行,宽度应始终为 720 像素。但是,表格一直显示垂直和水平滚动条,我不知道如何。有趣的是(虽然我现在很想哭),有时滚动条会消失。当我不断刷新页面时,有时它们会消失并且一切正常。
以下是我在调试数小时后收集到的一些信息:
- 有时,图标/图像/等。未加载并从现金中显示,有时是。猜猜看,这也是打开和关闭滚动条,尽管图像仍然显示。
- 每列的宽度有时会多几个像素 - 这就是显示水平滚动条的原因,我认为这也是显示垂直滚动条的原因(因为水平滚动条从表格的高度占用了一些像素)李>
- 我曾尝试在填表后调用 requestRepaint,甚至在父组件及其父组件及其父组件上调用 requestRepaintAll 等等...
- 我已尝试以百分比设置每列的宽度。 100000。)我想我已经尝试了 4 到 100000 之间的所有其他东西。
我一定错过了什么。很多人都有这个问题,我直接在vaadin页面上找到了很多线程,但是没有THIS-DEFINITELY-WORKS的解决方案。
编辑代码:
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) 填充行。
【问题讨论】:
-
一些代码、截图或现场演示会有所帮助。
-
我也对 Vaadin 中的某些控件有时会出现滚动条感到失望。尝试使用 Firebug 捕获有问题的
<div>并分享您的发现。 -
嗯,这就是问题所在。所有布局元素都有正确的宽度。甚至表格元素(我的意思是包装器)也具有所需的宽度。但是里面的
元素有时有 731px 的宽度。这就是出现滚动的原因。
您的应用程序中是否有自定义主题。通常,当您获得额外的滚动条时,您会以不受支持的方式对某些内容进行主题化。尝试将 ?theme=reindeer 添加到您的应用程序 url 的末尾,看看是否还有滚动条。我试过了,表格没有显示滚动条。然而,正如我所写,在我的主题下,有时滚动条存在,有时不存在。真的很奇怪。