Как заморозить столбцы в таблице данных? - PullRequest
0 голосов
/ 15 апреля 2020

Как гласит заголовок, я хотел бы заморозить столбцы в моей таблице матов ... Я хотел бы написать саму функцию вместо использования [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 });
        }
      }
    }
  }
...