Ag-Grid服务器侧行组密钥创建者

时间:2019-11-08 23:09:57

标签: ag-grid ag-grid-react ag-grid-grouping

在使用Ag-Grid的服务器端行模型时,我无法向服务器发送自定义组密钥,以便按查询进行正确的分组。

我的行数据是一个简单的JSON结构,但是具有一个复合对象。

row = {
    athlete: '',
    age: '',
    country: {
        name: 'Ireland',
        code: 'IRE'
    },
   ...
}

我正在使用服务器端行模型。使用下面的列定义,使网格显示国家名称非常简单。

{
 headerName: "Country", 
 colId: "country", 
 valueGetter: "data.country.name", 
 enableRowGroup: true
}

但是,当我按“国家/地区”列分组时,ag-grid从上面的示例中将groupKey作为“爱尔兰”发送。但是我需要将组密钥设置为国家代码“ IRE”。使用服务器端行模型时,我不知道如何生成groupKey。

我已经看到了keyCreator方法,但这仅适用于客户端行模型。另外,我已经看到树数据模式具有getServerSideGroupKey(dataItem)的回调,但是只有在gridOptions.treeData = true且treeData选项设置为true时才使用回调,始终显示“组”列不管是否正在分组。我通过设置isServerSideGroup: function(dataItem) {return false;}

对此进行了测试

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

我可以通过对列定义的field属性使用点表示法和自定义cellRenderer来解决此问题。

{
 headerName: "Country", 
 colId: "country", 
 field: "country.name", 
 enableRowGroup: true,
 cellRenderer: function (params) {
     return params.data.country.name;
 }
}

这使我可以显示来自自定义对象的正确数据点,并且在执行服务器端操作时,ag-grid将发送包含在field属性中的数据点。