如何根据剑道网格中角度的特定列条件更改行的颜色

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)

Hak*_*tık 9

首先:你必须添加[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)