-
Notifications
You must be signed in to change notification settings - Fork 2.2k
Implement Grouping #11
Copy link
Copy link
Closed
Description
Grouping is a key feature for the grid, and fills a lot of use cases for us. It is also several things to different people. We see this as:
Grouping
Choose a field (or fields) to group on, and then show the grid with expand and collapse based on this.
Further enhancements include allowing a way to also specify metrics, so that we can display summary info, whether thats number of records, or avg/sum/min/max
Key issues
- Means that the Grid needs to have a view of the entire data set, so this will need to be partly done inside ReactDataGrid, and partly in a data view adapter in front of the rowGetter
- Makes sorting and filtering more complex
Child rows
Using the same headers, but having expand and collapse on child items
Key Considerations
- How would we express this in the row data. Should it be a different prop, getter, or just a simple convention (ie
if(row.children) { .. })? - Shouldnt affect sort / filter. Though filter on children might be nice to have?
- Should this be n-dimension? using
row.childrenshould in theory be easy enough - Will mean some state to track expand / collapse, and fundamental changes to equations on grid metrics (esp hieght)
- Need to consider how this works alongside frozen cols
Sub Grids
Having the ability to have master / detail tables, where the subgrid is entirely independent in structure (ie it has different headers, formatters, etc)
In theory this is an extension of child rows, but rather than row.children we have row.subGrids or similar
Key considerations
- Should be an extension of child rows, and so have the same considerations
- Need to ensure we stay performant
- do we keep the same convention (ie
row.children) and then just sniff if these are rows, or a grid? Or be explicit (row.childrenvsrow.subGrids)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels