В таблице Vaadin постоянно отображаются полосы прокрутки

У меня есть компонент Table внутри некоторых макетов, и я не хочу, чтобы он отображал полосы прокрутки.

В таблице всегда будет только 25 строк, а ширина всегда должна составлять 720 пикселей. Однако в таблице продолжают отображаться как вертикальные, так и горизонтальные полосы прокрутки, и я не могу понять, как это сделать. Самое смешное (хотя я сейчас скорее плачу), что иногда полосы прокрутки пропадают. Когда я постоянно обновляю страницу, иногда они пропадают, и все в порядке.

Вот пара информации, которую я собрал после нескольких часов отладки:

  1. Иногда значки / изображения / и т. Д.не загружаются и отображаются из кассы, иногда они есть. И знаете что, это еще и включение и выключение полос прокрутки, хотя изображения все еще отображаются.
  2. Ширина каждого столбца иногда на пару пикселей больше - именно поэтому появляется горизонтальная полоса прокрутки, и я думаю, что именно поэтому появляется вертикальная полоса прокрутки (потому что горизонтальная полоса занимает несколько пикселей от высоты таблицы)
  3. Я попытался вызвать requestRepaint после заполнения таблицы, даже requestRepaintAll для родительского компонента, и его родителя, и его родителя и т. Д.
  4. Я попытался установить ширину каждого столбца в процентах. 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).

7
задан Brian Tompsett - 汤莱恩 28 November 2016 в 16:00
поделиться