Как гласит заголовок, я хотел бы заморозить столбцы в моей таблице матов ... Я хотел бы написать саму функцию вместо использования [sticky] или css.
, которые я уже разработал небольшая функция, где выбранный столбец отключен ... Я хотел бы заморозить поведение и выбранный столбец, не могли бы вы мне помочь?
// MyInterface
export interface SusaColumn {
attribute: string;
name: string;
mobile: string;
object?: any;
frozen?: boolean; //
}
private displayedColumns: SusaColumn[] = [
{ attribute: 'accountNumber', name: 'Konto', mobile: 'Konto:', object: null, frozen: false },
{ attribute: 'name', name: 'Erlöse / Kostenarten', mobile: 'Erlöse / Kostenarten:', object: null, frozen: false },
{ attribute: 'kag', name: 'KAG', mobile: 'KAG:', object: null, frozen: false }
];
private freezeColumn(attributeName: string) {
if (attributeName) {
const displayedColumn = this.displayedColumns.find((c) => c.attribute === attributeName);
if (displayedColumn) {
displayedColumn.frozen = !displayedColumn.frozen; // here i make the column disabled
const columnIndex = this.columns.findIndex((c) => c === attributeName);
if (columnIndex > -1) {
this.columnFilters.controls[columnIndex] = new FormControl({ value: '', disabled: displayedColumn.frozen });
}
}
}
}