высота строки ui-grid с использованием rowHeight: 'auto'

Я получаю это странное поведение от ui-grid: если я установлю для rowHeight значение auto, каждая ячейка в одной строке будет иметь разную высоту. Одна из ячеек в каждой строке будет иметь многострочные данные, но, по-видимому, ui-grid задохнется от этого. (Я раскрасил строку, чтобы вы могли видеть, что не так!) Есть идеи, как это исправить? Я имею в виду, чтобы получить одинаковую высоту для всех ячеек в каждой строке. Как вы обрабатываете разную высоту строк в одной и той же сетке?

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


person Javid_p84    schedule 28.01.2015    source источник
comment
вот в чем проблема: plnkr.co/edit/9Ndmv6R0ebWWNN6Ab3yz   -  person Javid_p84    schedule 28.01.2015
comment
любые обновления?? вот такая же проблема...   -  person Ganesh Vellanki    schedule 17.03.2015
comment
Не совсем, как вы можете видеть по этой ссылке github.com/angular-ui/ ng-grid/issues/2656 , я связался с ними, но, к сожалению, они не хотят это исправлять....   -  person Javid_p84    schedule 18.03.2015
comment
нет!! это катастрофа... это действительно важная особенность... как они могут ее игнорировать?   -  person Ganesh Vellanki    schedule 18.03.2015
comment
любые другие сетки, которые вы рекомендуете ..?   -  person Ganesh Vellanki    schedule 18.03.2015
comment
В зависимости от ваших потребностей их много. У меня был хороший опыт работы с сеткой jqGrid и EasyUI.   -  person Javid_p84    schedule 19.03.2015
comment
Этот парень придумал красивое и простое решение, возможно, оно сработает. stackoverflow.com/a/35736036/1349365   -  person Moshii    schedule 20.11.2018


Ответы (2)


Используйте CSS

[ui-grid-row] {
  display: table-row;
}

.ui-grid-row, .ui-grid-cell {
  height: auto!important;
}

.ui-grid-cell {
  float: none;
  display: table-cell;
}

.ui-grid-header-cell, .ui-grid-cell-contents {
  white-space: normal;
  padding: 2px;
  word-break: break-word;
}

Используйте JavaScript

Когда вы используете множественный выбор, высота столбца проверки не меняется, поэтому вы можете установить enableRowHeaderSelection: false. Этот столбец будет скрыт, но вы все равно можете выбрать строки или, если хотите, можете использовать эту функцию из @jibap для выравнивания контейнеров http://plnkr.co/edit/JwbEmPhJq2LInfUNncdi?p=preview

person Henry Orozco    schedule 22.01.2016

Виртуализация практически невозможна без предопределенной высоты строк. Вы найдете такое же ограничение в любом инструменте виртуализированного списка. Например, проверьте повтор коллекции в Ionic.

Проблема в том, что UI-Grid отображает только подмножество всех строк в любой момент времени, но для того, чтобы оно отображалось так, как будто все строки есть, необходимо создать пустое пространство вокруг визуализированные строки. Если он не знает высоты всех рядов, он не знает, сколько свободного места должно быть.

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

person c0bra    schedule 19.05.2015