In my grouped Ag-grid (React), I am initializing the selections using rowNode.setSelected during onFirstDataRendered and onRowDataUpdated.

To sort the grid alphabetically with selections at the top, I cannot use sort/comparator fields in columnDefs like below, because my selections are initialized during onFirstDataRendered and onRowDataUpdated, so no node is selected at the time when columnDefs comparator function will run.

        export const ColDef = [
        {
            headerName: 'col1',
            enableRowGroup: true,
            field: 'name',
            rowGroupIndex: 2,
            hide: true,
            comparator: sortComparator,
            sort: 'asc',
        },
        ... ];

const sortComparator = (valueA, valueB, nodeA, nodeB, isDescending) => {      
    if ((nodeA.isSelected() || nodeA.isSelected() == undefined) && !nodeB.isSelected()) {
        return -1;
    }
    if (!nodeA.isSelected() && (nodeB.isSelected() || nodeB.isSelected() == undefined)) {
        return 1;
    }
    return valueA == valueB ? 0 : valueA > valueB ? 1 : -1;
};

What else I can do?

0

There are 0 best solutions below