AgGrid Clipboard: включить заголовок группы - PullRequest
0 голосов
/ 14 апреля 2020

У меня есть таблица с некоторыми сгруппированными столбцами, для которых я пытаюсь включить функцию копирования и вставки.

Я пытаюсь включить сгруппированные заголовки в буфер обмена, как у нас в функции экспорта установив для columnGroups значение true.

Примерно так:

Исходная таблица

enter image description here

Таблица буфера обмена

Athlete Details      Athlete Details      Athlete Details
Name                 Country              Age
Michael Phelps       United States        23
Michael Phelps       United States        19
Michael Phelps       United States        27

Проблема в том, что когда я включаю заголовки, я получаю только заголовки столбцов (т.е. Имя, Страна, Возраст).

Я просмотрел документацию и не смог этого добиться , Я подумал, что мог бы использовать processHeaderForClipboard в сочетании с sendToClipboard для достижения этого, собирая родительский заголовок каждого столбца в массив, затем присоединяя его и добавляя возвращаемую строку.

processHeaderForClipboard(params) {
    this.columnGroupNames.push(params.column.parent.originalColumnGroup.colGroupDef.headerName);
    console.log(this.columnGroupNames);
    return params.column.getColDef().field;
}

sendToClipboard(params) {
    return this.columnGroupNames.join('\t') + '\n' + params.data;
}

Однако, как вы можете см. в этом Plunker (https://plnkr.co/edit/RpiTxEIa90Gq31jr), у меня нет доступа к переменным компонента.

Кто-нибудь смог включить заголовки сгруппированных столбцов в свой буфер обмена?

1 Ответ

0 голосов
/ 25 апреля 2020

Я вижу, что вы можете получить доступ к переменным компонента следующим образом:

[processHeaderForClipboard]="processHeaderForClipboard.bind(this)"
[sendToClipboard]="sendToClipboard.bind(this)"  

Текущий лог c продолжает добавляться к this.columnGroupNames.

После сброса значений и прекращения добавления дубликатов ваш код должен работать.

...