您可以使用ag-Grid的allowedAggFuncs
属性来禁用将不可分组的列隐藏。以下是一个使用ag-Grid的JavaScript示例代码:
var gridOptions = {
columnDefs: [
{ field: 'make' },
{ field: 'model', enableRowGroup: true },
{ field: 'price', enableRowGroup: true }
],
rowDragManaged: true,
onRowDragMove: function(event) {
var column = event.column;
var columnsToHide = event.overColumns;
if (column.enableRowGroup && columnsToHide.length > 0) {
// 将不可分组的列移出隐藏列表
var visibleColumns = gridOptions.columnApi.getAllDisplayedColumns();
columnsToHide = columnsToHide.filter(function(col) {
return visibleColumns.indexOf(col) === -1;
});
}
event.hideColumns(columnsToHide);
},
onRowDragEnd: function(event) {
// 拖动结束后显示隐藏的列
event.showColumns(event.overColumns);
}
};
在上述代码中,我们使用onRowDragMove
事件来检查拖动的列是否是可分组列,并过滤掉不可分组列,以防止它们被隐藏。然后,我们使用hideColumns
方法将要隐藏的列从隐藏列表中移除。在onRowDragEnd
事件中,我们使用showColumns
方法来显示隐藏的列。
希望这可以帮助到您!