PrimeNG 구성 요소를 사용하는 Angular2 앱이 있습니다. 필자는 필드가 특정 값일 때 DataTable의 행이 특정 색으로 채워지도록하려고합니다. 행 강조 표시에 사용할 색상 값이 들어있는 다른 필드가 있지만 작동하게하는 방법을 찾을 수 없습니다.Angular2 PrimeNG 조건부 행 서식 지정
내 모델 (매우 간단) 다음과 같습니다
그래서 기본적으로 5 일의 리드 타임에 부착 된 경우export class RepackRequest{
AdhereToLeadTime: boolean;
LeadTimeRemaining: string;
constructor() {
var today = new Date();
if(this.AdhereToLeadTime){
var difference = today.getTime() - this.StartDate.getTime();
if(difference >= 3 && difference <= 4){
this.LeadTimeRemaining = "orange";
}
else if(difference >= 5){
this.LeadTimeRemaining = "red";
}
}
else {
this.LeadTimeRemaining = 'white';
}
}
}
는, 그것이 얼마나 가까운 리드 시간에 따라 색상을 변경합니다. 내 템플릿에서
난 다음 있습니다 : 당신이 볼 수 있듯이
<p-dataTable [value]="approvalRepacks"
[rows]="10"
[paginator]="true"
[pageLinks]="5"
[rowsPerPageOptions]="[5,10,20]"
selectionMode="single"
[(selection)]="selectedRepack"
(onRowSelect)="onSelect()"
[globalFilter]="na">
<header>
<div style="text-align:center;">
<button pButton type="button" icon="fa-plus" iconPos="left" label="Create New Request" (click)="addNew()"></button>
</div>
</header>
<p-column field="DateRequested" header="Date Requested" sortable="true">
<template let-col let-rep="rowData" pTemplate type="body">
<span [style.background]="{{rep.LeadTimeRemaining}}">{{rep[col.field] | date:'dd/MM/yyyy'}}</span>
</template>
</p-column>
<p-column field="OrderNum" header="Order No" sortable="true" styleClass="wordBreak"></p-column>
<p-column field="Customer" header="Customer" sortable="true"></p-column>
<p-column field="FromItem" header="Repack From" sortable="true" styleClass="wordBreak"></p-column>
<p-column field="ToItem" header="Repack To" sortable="true" styleClass="wordBreak"></p-column>
<p-column field="FromWarehouse" header="From Whse" sortable="true"></p-column>
<p-column field="FromLocation" header="From Bin" sortable="true"></p-column>
<p-column field="ToWarehouse" header="To Whse" sortable="true"></p-column>
<p-column field="ToLocation" header="To Bin" sortable="true"></p-column>
<p-column field="Quantity" header="Qty" sortable="true"></p-column>
<p-column field="RequestedBy" header="Requested By" sortable="true" styleClass="wordBreak"></p-column>
<p-column header="Actions">
<template let-col let-rep="rowData" pTemplate type="body">
<button pButton type="button" icon="fa-check" label="Approve" (click)="approve(rep.ID)"></button>
</template>
</p-column>
</p-dataTable>
내가 컬럼의 색상을 설정하려고 할 [style.background]="{{rep.LeadTimeRemaining}}"
있습니다.
나는이 열과 id에 대한 설정이 모든 열에서 동일해야한다는 잘못된 길로 생각한다.
아무에게도 도움이 될 수 있습니까? 나는 어디에서나 정보를 찾을 수 없습니다.
많은 감사
을 편집하여 모든 열은 그냥 색상 사업부보다는 TD 또는 TR 그것은 다음과 같이 볼 수있는 매우보기 흉한이다 그러나 점을 강조에서 다음을 사용
.
<template let-col let-rep="rowData" pTemplate type="body">
<div [style.background]="rep.LeadTimeRemaining" style="margin:-50px;">
<span>{{rep[col.field]}}</span>
</div>
</template>
이 방법으로 사용하여 보시기 바랍니다
이 어떤 진행을해야합니까? – Tito
불행히도 전체 행이 아닌 텍스트에만 색을 칠 수있었습니다. – DaRoGa