У меня есть компонент Table внутри некоторых макетов, и я не хочу, чтобы он отображал полосы прокрутки.
В таблице всегда будет только 25 строк, а ширина всегда должна составлять 720 пикселей. Однако в таблице продолжают отображаться как вертикальные, так и горизонтальные полосы прокрутки, и я не могу понять, как это сделать. Самое смешное (хотя я сейчас скорее плачу), что иногда полосы прокрутки пропадают. Когда я продолжаю обновлять страницу, иногда они пропадают, и все в порядке.
Вот пара информации, которую я собрал после нескольких часов отладки:
- Иногда значки / изображения / и т. Д. не загружаются и отображаются из кассы, иногда они есть. И знаете что, это также включение и выключение полос прокрутки, хотя изображения все еще отображаются.
- Ширина каждого столбца иногда на пару пикселей больше - и поэтому появляется горизонтальная полоса прокрутки, и я думаю, что именно поэтому появляется вертикальная полоса прокрутки (потому что горизонтальная занимает несколько пикселей от высоты таблицы)
- Я попытался вызвать requestRepaint после заполнения таблицы, даже requestRepaintAll для родительского компонента, его родителя, его родителя и т. Д.
- Я попытался установить ширину каждого столбца в процентах. 100000.) Я думаю, что перепробовал все остальное между 4 и 100000.
Я, должно быть, что-то упускаю. У многих людей есть эта проблема, и я нашел множество тем прямо на странице 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).
<div>
с помощью Firebug и поделитесь своими выводами. - person dma_k   schedule 17.02.2012