Я не хочу отображать данные в ячейку, если значение, возвращаемое из базы данных, равно -1. Ячейка позволяет редактировать внутри ячейки. Если возвращается любое другое значение, оно должно отображаться. И ячейка должна все еще сохранять свое значение в случае, если мы хотим сохранить его снова.
Чтобы добиться этого, я пытаюсь установить цвет ячейки на белый / прозрачный, если значение равно -1. И это происходит, когда значение возвращается в сетку. Но когда я щелкаю в этой ячейке, отображается -1. Поэтому я снова вызываю его из cellClickHandler, но цель не решается.
Есть ли лучший способ, чтобы значение не отображалось, когда -1? ИЛИ если кто-то может направить меня, чтобы исправить проблему цвета при нажатии внутри ячейки. Вот мой код:
html:
<kendo-grid-column field="MasterID" width="75">
<ng-template kendoGridCellTemplate let-dataItem>
<span class="whole-cell" [style.color]="colorTransparent(dataItem.MasterID)">
{{ dataItem.MasterID }}
</span>
</ng-template>
</kendo-grid-column>
//in component
public colorTransparent(MasterID: number): SafeStyle {
let result;
switch (MasterID) {
case -1:
result = '#ffffff'; //white
break;
default:
result = '#808080'; //grey
break;
}
return this.sanitizer.bypassSecurityTrustStyle(result);
}
//when you click a cell to edit
public cellClickHandler({ sender, rowIndex, column, columnIndex, dataItem, isEdited }) {
this.colorTransparent(dataItem.MasterID);
if (!isEdited && !this.isReadOnly(column.field)) {
sender.editCell(rowIndex, columnIndex, this.createFormGroup(dataItem));
}
}