use*_*106 8 kendo-ui kendo-grid angular kendo-angular-ui
我想将红色应用于已完成时间列值大于 24 的行。我该怎么做。请帮助我是角度新手。
<kendo-grid [kendoGridBinding]="gridData">
<kendo-grid-column field="RequestNumber" title="Request No."
width="110" >
</kendo-grid-column>
<kendo-grid-column field="RequestNumber" title="Request No." width="110" >
</kendo-grid-column>
<kendo-grid-column field="Name" title="Name." width="110" >
</kendo-grid-column>
<kendo-grid-column field="CompletedIn" title="CompletedIn" width="110" >
</kendo-grid-column>
</kendo-grid>
Run Code Online (Sandbox Code Playgroud)
首先:你必须添加[rowClass]
到你的网格中
<kend-grid [rowClass]="rowCallback">
</kendo-grid>
Run Code Online (Sandbox Code Playgroud)
然后你需要在组件中添加函数并返回所需的类
public rowCallback(context: RowClassArgs) {
if (context.dataItem.someProperty) { // change this condition as you need
return {
passive: true
};
}
}
Run Code Online (Sandbox Code Playgroud)
最后你需要有一个带有你返回的名称的CSS类,(在这种情况下,passive
当然你可以根据需要更改它)
@Component({
selector: "your-component",
templateUrl: "./your.component.html",
encapsulation: ViewEncapsulation.None,
styles: [
`
.k-grid tr.passive {
background-color: lightgray;
}
`
]
})
Run Code Online (Sandbox Code Playgroud)
使用encapsulation: ViewEncapsulation.None
前缀来命名类非常重要,.k-grid tr
否则您将无法获得所需的结果
Rom*_*mes -1
如果满足上述条件,这将以红色背景颜色标记行
<tr *ngFor="let myObject of myArray;" [ngStyle]="{'background-color':myObj.completedIn>24 ? 'red' : '' }">
<!-- your other code -->
</tr>
Run Code Online (Sandbox Code Playgroud)