英文:
ag-grid (React) having custom column for exports
问题
以下是翻译的部分:
假设我有以下数据:
[
{ name: 'Cesar', date: '2023-10-10 05:10AM' },
{ name: 'James', date: '2023-10-11 10:10AM' }
]
以及以下用于 ag-grid 的 columnDefs
:
[
{ headerName: 'Name', field: 'name' },
{ headerName: 'Date', field: 'date' }
]
如果我导出它(CSV 或 Excel),我会得到完全相同的两列,这是默认行为。
但是,我如何使导出功能(CSV 和 Excel)将日期列拆分为两列呢?这是我们希望在导出文件中看到的数据结构。
| Name | Date | Time |
| ----- | ---------- | ------- |
| Cesar | 2023-10-10 | 05:10AM |
| James | 2023-10-11 | 10:10AM |
我尝试过的方法
- 使用
processCellCallback
和processHeaderCallback
将date
列拆分为 2 列;但是这 "2 列" 被呈现在同一列中 😞。
- 我尝试向我的
columnDefs
添加第三列,该列设置为hide: true
和lockVisible: true
:
[
{ headerName: 'Name', field: 'name' },
{ headerName: 'Date', field: 'date' },
{ headerName: 'Time', field: 'date', hide: true, lockVisible: true } // 使用正确的 getter
]
这部分工作部分因为该列显示在列菜单的 "Columns" 选项卡中。
复选框被禁用,因此列永远不会显示;但是我们需要 "时间" 列仅在导出的文件中可用,而不是在用户界面中可见。 😞
英文:
Say I have the following data:
[
{ name: 'Cesar', date: '2023-10-10 05:10AM' },
{ name: 'James', date: '2023-10-11 10:10AM' }
]
and I have the following columnDefs
for ag-grid:
[
{ headerName: 'Name', field: 'name' },
{ headerName: 'Date', field: 'date' }
]
If I export it (CSV or Excel) I get the same exact 2 columns, which is the default behavior.
But, how can I have the export functionality (CSV and Excel) to split the date column into two columns? This is the data structure we expect to see in the exported files.
| Name | Date | Time |
| ----- | ---------- | ------- |
| Cesar | 2023-10-10 | 05:10AM |
| James | 2023-10-11 | 10:10AM |
Things I've tried
processCellCallback
andprocessHeaderCallback
to split thedate
column into 2 columns; but the "2 columns" are rendered in the same column 👎
- I tried adding a third column to my
columnDefs
which ishide: true
andlockVisible: true
:
[
{ headerName: 'Name', field: 'name' },
{ headerName: 'Date', field: 'date' },
{ headerName: 'Time', field: 'date', hide: true, lockVisible: true } // with the right getter
]
This works partially because the column shows up in the Column Menu columnsMenuTab
column showing in the menu
The checkbox is disabled, so the column cannot be shown ever; but we need the "time" column to be only available on the exported files, not in the UI
答案1
得分: 0
祝贺!您离解决这个谜题非常接近。
suppressColumnsToolPanel
如果您不希望此列或分组出现在列工具面板中,请将其设置为true。
以下是一个示例:
https://plnkr.co/plunk/UWTdLRgBM5H9ooLh
英文:
Congrats! You're very close to solve this puzzle.
> suppressColumnsToolPanel
>
> Set to true if you do not want this column or group to appear in the
> Columns Tool Panel.
{
headerName: "Time",
field: 'date',
hide: true,
suppressColumnsToolPanel: true // this one
}
Here's an example
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论