如何禁用Ag-grid中特定列的排序?

时间:2017-05-25 08:03:25

标签: angularjs ag-grid

我在我的一个AngularJs项目中使用https://www.ag-grid.com/。我的要求是在任何分组发生时禁用任何列上的排序。

我知道我们可以使用以下配置在单列上禁用sorting/filtering

colDef.suppressMenu = true
colDef.suppressSorting = true <--- this i can set up while giving column definition

但如何在特定条件下动态完成,有关更多说明,请查看下图 enter image description here

在此,我正在按国家/地区对网格进行分组并展开爱尔兰国家/地区,但现在我不禁用任何参数的排序,并在分组属性时再次启用它被删除了。

有没有办法实现这一点,请告诉我,如果已经存在任何重复的问题,请在评论部分添加。

谢谢

3 个答案:

答案 0 :(得分:1)

colDef.suppressMenu = true
colDef.suppressSorting = true

http://www.angulargrid.com/angular-grid-column-definitions/index.php

例如:http://jsfiddle.net/7ony74h5/1/

答案 1 :(得分:0)

最后,我解决了问题:),添加了答案,这可能会对其他人有所帮助

  

注意:我不依赖于Ag-Grid分组我从后端分组数据后得到了所以下面的细节可能会改变   仅取决于Ag-Grids

Ag-Grid提供各种事件监听器,其中一个是columnRowGroupChanged

所以我注册了这个监听器:

vm.gridOptions.api.addEventListener("columnRowGroupChanged", vm.updateRowData);

然后在updateRowData方法中我创建了我的headerRow,它将在分组后由Ag-Grid使用,我当时也在配置是否要排序:

vm.updateRowData = function (groupedColumnInfo) { 
                                /\
                                ||
                                ||
                           Column Information on which grouping has been done

............
............
 // Some Processing to get required details and finally setting the header again
............
............
vm.headerData = {
    headerName: groupingAttributeItem.label,
    field: fieldName,
    width: 150,
    headerClass: 'groupable-header',
    cellClass: 'groupable-cell p-xs',
    key: groupingAttributeItem.key,
    sort: (params.sortingInfo && params.sortingInfo.colId === groupingAttributeItem.key) ? params.sortingInfo.sort : '',
    suppressSorting: groupedColId ? true : false <--- deciding factor 
};

  // *Deciding factor* line checks that if some grouping has been done
 // if NO then don't suppress sort for that column otherwise enable sorting
}

注意:默认情况下,所有列都启用了排序,因此我们必须明确禁用它。

这只是我完整代码库的片段,因此跳过了获取标签和其他内容的方式。

希望它可以帮助别人谢谢......

答案 2 :(得分:0)

用于抑制排序的属性现在为

可排序:错误

https://www.ag-grid.com/javascript-grid-sorting/