【发布时间】:2022-04-26 01:49:52
【问题描述】:
我想将“将此行复制到剪贴板”上下文菜单项添加到我的 agGrid(在 Angular 9 中运行)。
agGrid 为我们提供了一个“params”值,其中包含当前选定的值,以及 params.node.data,其中包含该行的“原始”整个记录。
getContextMenuItems(params) {
return [
{
name: 'Copy this row',
action: function() {
let dataForThisRecord = params.node.data;
// ...what now...?
},
'export' // This adds the generic agGrid "export\export to Excel" menu items
];
}
问题是,我的params.node.data 很大,而我的 agGrid 实际上只显示这条记录的 5 个字段,所以我只想要这 5 个字段(与网格中的顺序相同)。
另外,这 5 个 agGrids 列中的一些列可能具有 valueGetter 函数或 cellRenderers,因此我想在调用它们之后获取值。
所以,与其导出原始数据,我可以在 params.node.data 对象中看到:
{
forename: 'Mike',
surname: 'Jones',
DOB: '2020-04-30T00:00:00',
countryID: 1001,
phone: '055 123 4567'
}
我想在通过任何 cellRenderers 或 valueGetters 之后复制值在网格中显示:
[ 'Mike', 'Jones', '30/4/2020', 'France', '055 123 4567' ]
可以这样做吗?
我假设是这样,当我在上下文菜单中添加默认的“导出”选项时,agGrid 本身会很高兴地将我的数据导出到 Excel 文件中,其中包含格式良好的值,这些值显示在网格中。
【问题讨论】:
标签: ag-grid-angular