diff --git a/src/components/Grid.tsx b/src/components/Grid.tsx index 81092970..c8b467b0 100644 --- a/src/components/Grid.tsx +++ b/src/components/Grid.tsx @@ -153,7 +153,7 @@ export const Grid = ({ const skipHeader = sizeColumns === "auto-skip-headers" && !isEmpty(params.rowData); if (sizeColumns === "auto" || skipHeader) { - const result = autoSizeColumns({ skipHeader, userSizedColIds: userSizedColIds.current }); + const result = autoSizeColumns({ skipHeader, userSizedColIds: userSizedColIds.current, includeFlex: true }); if (isEmpty(params.rowData)) { if (!hasSetContentSizeEmpty.current && result && !hasSetContentSize.current) { hasSetContentSizeEmpty.current = true; diff --git a/src/contexts/GridContext.tsx b/src/contexts/GridContext.tsx index 77635e0b..b11ccfaa 100644 --- a/src/contexts/GridContext.tsx +++ b/src/contexts/GridContext.tsx @@ -10,6 +10,7 @@ export interface AutoSizeColumnsProps { skipHeader?: boolean; colIds?: Set | string[]; userSizedColIds?: Set; + includeFlex?: boolean; } export type AutoSizeColumnsResult = { width: number } | null; diff --git a/src/contexts/GridContextProvider.tsx b/src/contexts/GridContextProvider.tsx index bbb4609e..d060e03b 100644 --- a/src/contexts/GridContextProvider.tsx +++ b/src/contexts/GridContextProvider.tsx @@ -394,12 +394,16 @@ export const GridContextProvider = (props: PropsWit * Resize columns to fit container */ const autoSizeColumns = useCallback( - ({ skipHeader, colIds, userSizedColIds }: AutoSizeColumnsProps = {}): AutoSizeColumnsResult => { + ({ skipHeader, colIds, userSizedColIds, includeFlex }: AutoSizeColumnsProps = {}): AutoSizeColumnsResult => { if (!columnApi) return null; const colIdsSet = colIds instanceof Set ? colIds : new Set(colIds); const colsToResize = columnApi.getColumnState().filter((colState) => { const colId = colState.colId; - return (isEmpty(colIdsSet) || colIdsSet.has(colId)) && !userSizedColIds?.has(colId) && !colState.flex; + return ( + (isEmpty(colIdsSet) || colIdsSet.has(colId)) && + !userSizedColIds?.has(colId) && + (includeFlex || !colState.flex) + ); }); if (!isEmpty(colsToResize)) { columnApi.autoSizeColumns(