Для работы с ag-Grid я предлагаю установить класс для строки и сделать так, чтобы этот класс применял любые стили, которые вам нужны для каждого случая. Я предлагаю использовать класс, а не прямые стили, потому что он чище и быстрее (см. Здесь Встроенные стили против классов < / а>)
способ сделать это, я думаю, показан здесь в документации ag-Grid https://www.ag-grid.com/javascript-grid-row-styles/#row-class-rules
в частности, я считаю, что этот пример самый чистый и прямой.
gridOptions.rowClassRules: {
// apply green to 2008
'rag-green-outer': function(params) { return params.data.year === 2008},
// apply amber 2004
'rag-amber-outer': function(params) { return params.data.year === 2004},
// apply red to 2000
'rag-red-outer': function(params) { return params.data.year === 2000}
}
ИЛИ сокращенная версия
gridOptions.rowClassRules: {
'rag-green': 'data.age < 20',
'rag-amber': 'data.age >= 20 && data.age < 25',
'rag-red': 'data.age >= 25'
}
Оригинальный ответ
прямой ответ - привязать к [ngStyle], как в примере, который я поднял прямо из angular.io здесь https://angular.io/guide/template-syntax#ngStyle.
<div [ngStyle]="currentStyles">
This div is initially italic, normal weight, and extra large (24px).
</div>
this.currentStyles = {
'font-style': this.canSave ? 'italic' : 'normal',
'font-weight': !this.isUnchanged ? 'bold' : 'normal',
'font-size': this.isSpecial ? '24px' : '12px'
};
но я бы также посоветовал вам попробовать привязку стилей, которая использует синтаксис шаблона для динамической установки стилей в зависимости от содержимого.
<div [style.background-color]="isFordCar(data) ? 'blue' : 'green'" >
</div>
ИЛИ еще лучше, почему бы не использовать класс, который в конечном итоге чище и имеет тот же синтаксис привязки
<div [class.ford]="isFordCar(data)" >
</div>
person
ccamac
schedule
16.04.2019
ag-grid
это легко или сложно. - person Heretic Monkey   schedule 17.04.2019