diff --git a/packages/x-data-grid-pro/src/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.ts b/packages/x-data-grid-pro/src/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.ts index 338b535e06f9c..4cdd9ef8e5522 100644 --- a/packages/x-data-grid-pro/src/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.ts +++ b/packages/x-data-grid-pro/src/hooks/features/serverSideLazyLoader/useGridDataSourceLazyLoader.ts @@ -65,28 +65,27 @@ export const useGridDataSourceLazyLoader = ( lastRowToRender: params.lastRowIndex, }; - if (sortModel.length === 0 && filterModel.items.length === 0) { - const currentVisibleRows = getVisibleRows(privateApiRef, { - pagination: props.pagination, - paginationMode: props.paginationMode, - }); - const skeletonRowsSection = findSkeletonRowsSection({ - apiRef: privateApiRef, - visibleRows: currentVisibleRows.rows, - range: { - firstRowIndex: params.firstRowIndex, - lastRowIndex: params.lastRowIndex, - }, - }); - - if (!skeletonRowsSection) { - return; - } - - fetchRowsParams.start = skeletonRowsSection.firstRowIndex; - fetchRowsParams.end = skeletonRowsSection.lastRowIndex; + const currentVisibleRows = getVisibleRows(privateApiRef, { + pagination: props.pagination, + paginationMode: props.paginationMode, + }); + + const skeletonRowsSection = findSkeletonRowsSection({ + apiRef: privateApiRef, + visibleRows: currentVisibleRows.rows, + range: { + firstRowIndex: params.firstRowIndex, + lastRowIndex: params.lastRowIndex, + }, + }); + + if (!skeletonRowsSection) { + return; } + fetchRowsParams.start = skeletonRowsSection.firstRowIndex; + fetchRowsParams.end = skeletonRowsSection.lastRowIndex; + privateApiRef.current.publishEvent('getRows', fetchRowsParams); }, [privateApiRef, isDisabled, props.pagination, props.paginationMode, sortModel, filterModel], @@ -141,7 +140,6 @@ export const useGridDataSourceLazyLoader = ( 'renderedRowsIntervalChange', handleRenderedRowsIntervalChange, ); - // TODO: if sorting/filtering happens firther away from the top, sometimes one skeleton row is left useGridApiEventHandler(privateApiRef, 'sortModelChange', handleGridSortModelChange); useGridApiEventHandler(privateApiRef, 'filterModelChange', handleGridFilterModelChange); };