Bezdepbonusu7Программирование: статьи и ответы

Вопрос

Расширяемая сетка UI-GRID. Программно расширить одну строку

Автор вопроса: Michael JDIОтветов: 2

Я хочу скрыть значок + в крайнем левом столбце и добавить еще один значок.

Когда пользователь щелкает новый значок, я хочу программно расширить эту конкретную строку.

Я вижу, что есть gridApi.expandable.expandAllRows();

Есть ли способ расширить только одну строку?

angular-ui-grid

Ответы

Ответ 1 · рейтинг 3 · Kathir

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

$templateCache.put('ui-grid/expandableRowHeader',
    "<div class=\"ui-grid-row-header-cell ui-grid-expandable-buttons-cell\"><div class=\"ui-grid-cell-contents\"><i ng-class=\"{ 'ui-grid-icon-plus-squared' : !row.isExpanded, 'ui-grid-icon-minus-squared' : row.isExpanded }\" ng-click=\"grid.api.expandable.toggleRowExpansion(row.entity)\"></i></div></div>"
  );

Вы можете изменить ng-class=\"{ 'ui-grid-icon-plus-squared' : !row.isExpanded, 'ui-grid-icon-minus-squared' : row.isExpanded }\" и заменить их на другой значок по вашему выбору.

Ответ 2 · рейтинг 5 · Idan Gozlan

Вы можете использовать функцию toggleRowExpansion, добавьте этот атрибут к нужному элементу, который будет запускать этот переключатель:

ng-click="grid.api.expandable.toggleRowExpansion(row.entity)"

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы