fix(grid): correct Excel filter virtual sizing - 22.0.x - #17525
Open
viktorkombov wants to merge 1 commit into
Open
fix(grid): correct Excel filter virtual sizing - 22.0.x#17525viktorkombov wants to merge 1 commit into
viktorkombov wants to merge 1 commit into
Conversation
viktorkombov
requested review from
ChronosSF and
simeonoff
and
a lite review from Copilot
August 24, 2026 15:58
Contributor
There was a problem hiding this comment.
Pull request overview
This PR fixes Excel-style filtering virtual scrolling sizing issues in igx-grid by aligning the virtual item size with the actual rendered list item height, preventing scrollbar thumb lag and ensuring the last item remains reachable (notably in the Indigo theme).
Changes:
- Measure the first rendered Excel filter list item and use its height to initialize the virtualizer’s
igxForItemSize. - Adjust Excel filtering theme styles for Fluent/Indigo to stabilize end-of-list spacing.
- Add a unit test covering the rendered-height-to-virtualizer sizing behavior and update the virtual-for sample markup/styles.
Reviewed changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| src/app/virtual-for-directive/virtual-for.sample.html | Updates the sample to apply heights on the list item host and configures size property usage for variable-height virtualization. |
| src/app/virtual-for-directive/virtual-for.sample.css | Ensures the list item content stretches to fill the fixed-size list item height in the sample. |
| projects/igniteui-angular/grids/grid/src/grid-filtering-ui.spec.ts | Adds a unit test asserting virtual item sizing is initialized from the rendered list item height. |
| projects/igniteui-angular/grids/core/src/filtering/excel-style/excel-style-search.component.ts | Implements measuring of the first rendered item height and applies it to the virtualizer sizing. |
| projects/igniteui-angular/core/src/core/styles/components/grid/_excel-filtering-theme.scss | Updates Fluent/Indigo Excel filtering list spacing to improve scrollbar stability and last-item reachability. |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Comment on lines
+135
to
+139
| @if $variant == 'fluent' { | ||
| .igx-list__item-base:last-of-type { | ||
| border-bottom: var(--border-width) solid transparent; | ||
| } | ||
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #17513
Closes #17521
Description
Uses the first rendered Excel-style filter item to initialize the virtual item size. Theme-specific spacing is kept within the measured item, stabilizing the scrollbar and ensuring the last Indigo item is reachable.
Motivation / Context
The configured virtual item size could differ from the rendered height, causing scrollbar thumb lag. In the Indigo theme, the scroll range could also end before the last item was fully visible.
Type of Change (check all that apply):
Component(s) / Area(s) Affected:
How Has This Been Tested?
Added unit coverage verifying that the rendered item height is applied to the virtualizer. Manually verified the Indigo StackBlitz reproduction by dragging the scrollbar thumb to the bottom.
Test Configuration:
Screenshots / Recordings
See the recording attached to the related issue.
Checklist:
feature/README.MDupdates for the feature docsREADME.MDCHANGELOG.MDupdatesng updatemigrations for breaking changes (migrations guidelines)