【问题标题】:AgGrid Clipboard: Include group headerAgGrid 剪贴板:包括组标题
【发布时间】:2020-07-26 17:33:36
【问题描述】:

我有一个包含一些分组列的表,我正在尝试为其启用复制和粘贴。

我正在尝试将分组标题包含在剪贴板中,就像我们通过将 columnGroups 设置为 true 的导出功能一样。

像这样:

原表

剪贴板表格

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) 中看到的,我无权访问组件的变量。

是否有人能够在剪贴板中包含分组列标题?

【问题讨论】:

    标签: ag-grid ag-grid-angular


    【解决方案1】:

    我看到你可以像这样访问组件的变量 -

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

    当前逻辑继续添加到this.columnGroupNames

    一旦你重置了值并停止添加欺骗,你的代码应该可以工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多