Как я могу предотвратить, чтобы сетка стала меньше минимальной высоты?

Я использую vaadin-grid и хочу использовать просмотр сведений о строке при выборе строки. Это работает, пока в таблице много строк. Предположим, вы фильтруете некоторые данные таблицы, и таблица становится меньше.

введите здесь описание изображения

когда вы выбираете строку, вы больше не можете видеть представление сведений о строке, потому что сетка слишком мала.

Как предотвратить уменьшение высоты сетки до минимальной высоты?


person confile    schedule 07.02.2016    source источник


Ответы (1)


Вы можете пересчитать высоту сетки внутри генератора деталей, используя ваш контейнер данных. Это не окончательное решение, однако оно идеально подходит для моих нужд, динамически изменяя высоту сетки без полосы прокрутки внутри.

Grid table...
table.setHeightMode(HeightMode.ROW);
table.setDetailsGenerator(new DetailsGenerator() {

   public Component getDetails(RowReference rowReference) {
      table.setHeightByRows(tableContainer.getItemIds().size() + 4);
      //detalis height is constant so I solve this by adding extra space which equals the size of 4 the rows
      //
      //for filtered container you can use tableContainer.getVisibleItemIds()
   }
}

Надеюсь, что поможет. Если вы найдете лучшее решение, пожалуйста, опубликуйте его здесь. Я этого не проверял, но как насчет того, чтобы пометить компонент как генератор грязных внутренних деталей?

person daredesm    schedule 08.02.2016