From 59d3c6eaef5e51350cb3fc812b43782380af317d Mon Sep 17 00:00:00 2001 From: Arkan Ahmedov Date: Thu, 23 Jul 2026 16:46:06 +0300 Subject: [PATCH 1/2] fix(grid): ensure final settle position in momentum scroll with trailing option --- .../igniteui-angular/grids/grid/src/grid-base.directive.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts b/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts index 04af42f9e8d..0edac3237c8 100644 --- a/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts +++ b/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts @@ -3698,7 +3698,11 @@ export abstract class IgxGridBaseDirective implements GridType, this.throttleTime$.pipe( take(1), switchMap(time => timer(time, this.throttleScheduler)) - ) + ), + // `trailing: true` ensures the final settle position of a fast momentum + // scroll is processed; otherwise the last scroll events are dropped and the + // rows stay frozen at an intermediate startIndex while the scrollbar is at top. + { leading: false, trailing: true } ), destructor ) From 0c11b051372fead0d96340ec96200b3d1bb2fb74 Mon Sep 17 00:00:00 2001 From: Arkan Ahmedov Date: Thu, 23 Jul 2026 16:46:06 +0300 Subject: [PATCH 2/2] fix(grid): ensure final settle position in momentum scroll with trailing option --- .../igniteui-angular/grids/grid/src/grid-base.directive.ts | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts b/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts index 04af42f9e8d..456f2214e8b 100644 --- a/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts +++ b/projects/igniteui-angular/grids/grid/src/grid-base.directive.ts @@ -3698,7 +3698,12 @@ export abstract class IgxGridBaseDirective implements GridType, this.throttleTime$.pipe( take(1), switchMap(time => timer(time, this.throttleScheduler)) - ) + ), + // `trailing: true` ensures the final settle position of a fast momentum + // scroll is processed; otherwise the last scroll events are dropped and the + // rows stay frozen at an intermediate startIndex while the scrollbar is at top. + // `leading: true` keeps the immediate response on scroll start. + { leading: true, trailing: true } ), destructor )