2015-01-28 5 views
4

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

enter image description here

+0

это проблема: http://plnkr.co/edit/9Ndmv6R0ebWWNN6Ab3yz –

+0

любых обновления ?? такая же проблема здесь ... –

+0

Не совсем, как вы можете видеть по этой ссылке https://github.com/angular-ui/ng-grid/issues/2656, я был с ними связан, но, к сожалению, они не хочу исправить это .... –

ответ

0

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

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

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

4

Использование 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

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