У меня есть таблица угловых материалов со столбцами:
столбцы таблицы: строка [] = ["mbrID", "E", "B", "HasAccess", "Att", "select"];
Информация, которую я получаю, может быть двух типов. Тип A имеет все заполненные столбцы. Для типа B столбцы E и B всегда будут нулевыми. Из ответа, полученного от службы, которой я заполняю источник данных, я не могу выяснить, относится ли информация к типу A или типу B. Как я могу проверить, является ли значение этих конкретных столбцов в источнике данных нулевым, и скрыть их на дисплее?
Это мой угловой код для заполнения источника данных.
ngOnInit() {
this.Service.ObservableName.subscribe(
(response: Recipient[]) => {
this.RcptData = response;
console.log(this.RcptData);
this.tabledata = new MatTableDataSource(response);
}
)
}
Интерфейс получателя выглядит так:
export interface Recipient {
mbrId: string,
E: string,
B: string,
hasAccess: string,
att: string[]
}
Это то, что у меня есть в моем HTML-коде для таблицы. Я добавил только для двух столбцов, но это похоже на остальные. :
<table mat-table matSort [dataSource]='RcptData' class="mat-elevation-z8">
<ng-container matColumnDef="mbrID">
<th mat-header-cell *matHeaderCellDef>Member ID</th>
<td mat-cell *matCellDef="let member"> {{member.mbrId}}</td>
</ng-container>
<ng-container matColumnDef="E">
<th mat-header-cell *matHeaderCellDef>E</th>
<td mat-cell *matCellDef="let member"> {{member.E}}</td>
</ng-container>
<tr mat-header-row *matHeaderRowDef="tablecolumns"></tr>
<tr mat-row *matRowDef="let row;columns: tablecolumns;"></tr>
</table>
Прямо сейчас столбцы E и B будут видны независимо от типа данных, но я хочу их скрыть. Так как я не получаю тип данных из бэкэнда, я не могу понять, как это сделать. Значения столбцов E и B всегда будут нулевыми (весь столбец) для типа B. Могу ли я использовать это как-то, чтобы скрыть столбцы?