Row Detail Plugin - Official approach for rendering Angular components in v10.x (standalone)? #2651
Replies: 4 comments 1 reply
-
|
I've asked copilot to review your concerns and created PR #2653, it added a new flag I'd like to clarify a few things you wrote
Also for reference, I've asked copilot to work on this and its first reply seemed more like an answer to you (the next few prompts eventually fixed some of your issues), so this first copilot reply could be useful reading to you:
|
Beta Was this translation helpful? Give feedback.
-
|
The
SummaryThat's pretty much the best I could do at this point and I don't want to spend more AI tokens on this. This feature is a little hard to be super snappy but hopefully the upcoming PR and new flag will help at the expense of maybe using slightly more memory (which is probably peanut) Also just to mention, SlickGrid has always been a JavaScript library at its core, I created Angular-Slickgrid (and other framework) as wrapper on top of SlickGrid, but again SlickGrid is still a JS library at its core and will never be an Angular native lib (or any other framework). So you have to work around this fact and try to use more native JS code rather than Angular code as much as possible (e.g. prefer native code in Custom Formatters, Editors, Filters, etc...). Of course, Row Detail is an exception and it does work with Angular Component but it's still wrapped around the fact that it's a JS lib (and actually the fact that SlickGrid is actually its strength, it super snappy and works great with large dataset... but yeah Row Detail is an exception and I worked hard on making it better but there's a limit to what we can achieve and so just keep that in mind). Also a side note, even though I helped built this Row Detail plugin, I never actually used it in any project myself. I had some ideas in mind but never got time to work with it yet. In our project, we rather opted to display a small grid + details on a side bar (on the right) that could be open/collapsed on row click, there's a similar concept with Master/Detail grids (see Example 50) but I agree that both of these approaches take a bit more spaces to render compared to Row Detail |
Beta Was this translation helpful? Give feedback.
-
|
I also asked about what you mentioned about virtual scroll issue and it replied that isn't any issue but something to keep in mind when using inner grids
|
Beta Was this translation helpful? Give feedback.
-
|
@ghiscoding Thanks for the quick turnaround on PR #2653 and the detailed guidance! I've spent considerable time testing all the suggestions. Here's my complete findings: Environment
What I Tested (Step by Step)I went through multiple iterations, progressively simplifying my code to isolate the issue. Here's what I tried: Attempt 1 — Applied all your recommended fixesApplied every fix from your response:
Result: Child grid was invisible (blank space where it should render). Collapse didn't work at all. Root cause found: My custom Attempt 2 — Official plugin, all fixes applied, no custom templatesAfter removing
Attempt 3 — Removed
|
Beta Was this translation helpful? Give feedback.

Uh oh!
There was an error while loading. Please reload this page.
-
Context
We are migrating a large enterprise Angular application from Infragistics (
IgxHierarchicalGridwithIgxRowIsland) to Angular-Slickgrid. We have ~31 grid components, of which 28 work perfectly with Angular-Slickgrid (flat grids, tree grids, remote paging, filtering, sorting — all excellent).However, we have 3 components that require a grid-inside-grid (hierarchical) pattern — where expanding a parent row shows a completely separate child grid with different columns and its own data source.
What We're Trying To Do
Use the Row Detail plugin to render a full
angular-slickgridinstance inside the expanded detail panel of anotherangular-slickgridinstance. Essentially: parent grid → expand row → child Angular Slickgrid grid with different columns/data.What We've Done
We have a working POC where the child grid does render inside the Row Detail panel. However, we're experiencing stability issues:
What We've Tried
enableRowDetailView: truewith custom component rendering — child renders but collapse/shift issuesloadOnce: true— prevented collapse from workingloadOnce: falsewith immediate Promise resolve — collapse works but triggers re-rendersingleRowExpand: true— avoids multi-expand instability but limits functionalityrowTopOffsetRenderType: 'top'— partial improvement on row shiftingonBeforeRowDetailToggleto destroy component on collapse — clean lifecycle but didn't fix collapse icononRowBackToViewportRangefor scroll-back re-render — handles scroll case but not core issuesRoot Cause (Our Understanding)
The Row Detail plugin inserts "padding rows" into the DataView to create vertical space, then renders custom content into that space. When the content is a full Angular Slickgrid instance (with its own virtual scroll, DataView, and DOM management), the two virtual scroll systems conflict. The parent grid's row invalidation cycle destroys and recreates the detail panel DOM, which kills the child Angular component.
Our Understanding of the v10.x History
In older versions (v4–v8), the
AngularRowDetailViewclass was built into the library with deep integration into Angular'sViewContainerRefand the library's internal rendering pipeline. In v10.x (the@slickgrid-universalmonorepo refactor), this Angular-specific rendering was not carried forward because the architecture became framework-agnostic.Questions
AngularRowDetailViewpattern something that could be reintroduced, or is there a different recommended architecture for this use case?Environment
Why This Matters To Us
This is the only remaining blocker for our migration. 28 of 31 grid components work perfectly with Angular-Slickgrid. We have a workaround (HTML table parent + Slickgrid child), but we'd prefer a pure Angular-Slickgrid solution if one is feasible.
Thank you for the incredible library — it's been the best free option we've evaluated by a significant margin.
Beta Was this translation helpful? Give feedback.
All reactions