Изменить цвет определенного ряда с помощью модуля выбора

0

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

Я устанавливаю передний цвет (с цветом: # FF0000), а не цвет фона.

Это отлично работает, пока вы не добавите модуль выбора. С этим модулем у вас есть дополнительный флажок в начале этой строки. Когда вы это проверите, цвет фона строки изменится (а не передний цвет!). Все это добавляет дополнительный класс, объявленный в grid css:

.ui-grid-row.ui-grid-row-selected > [ui-grid-row] > .ui-grid-cell {
  background-color: #c9dde1;
}

Когда флажок установлен, этот класс добавляется к элементу.

Код, который у меня есть, похож на код в связанном ответе:

rowTemplate: '<div ng-class="{\'targetRow\': row.entity.target }"><div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.uid" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader }" ui-grid-cell></div></div>',

.targetRow {
    color: #FF0000;
}

После добавления этого цвета цвет фона больше не изменяется при выборе строки. В инструментах отладки в Chrome я вижу, что класс по-прежнему правильно добавлен, и нет никаких других различий, все еще color как-то переопределяет background-color

Почему это происходит и как я могу это исправить?

Здесь Plunker: http://plnkr.co/edit/U1rmT48kSjK5gVH0Fv43?p=preview

Удалите rowTemplate, чтобы увидеть разницу.

Теги:
angular-ui-grid

1 ответ

2
Лучший ответ

проблема с шаблоном, я думаю, после того, как я обновил шаблон строки до

var rowtpl = '<div ng-repeat="(colRenderIndex, col) in colContainer.renderedColumns track by col.colDef.name" class="ui-grid-cell" ng-class="{ \'ui-grid-row-header-cell\': col.isRowHeader, \'green\':true, \'blue\':row.entity.count==1 }" ui-grid-cell></div>';

сетка начала работать

http://plnkr.co/edit/4XVh31i48Y5iKZbaFevE?p=preview

  • 0
    Спасибо, это именно то, что я хочу! Не могли бы вы объяснить, почему это не сработало так, как я это сделал?
  • 0
    Я отлаживаю это глубже, чтобы дать вам этот ответ;)
Показать ещё 3 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню