microsoft / microsoft/fluentui-contrib
Support for Variable Row Heights in DataGrid Component
Nobody has claimed this yet.
- Dominant language
- TypeScript
- Stars
- 56
- Forks
- 62
- Avg merge
- 3d 2h
- Merged PRs (30d)
- 1
Description
Description:
I am requesting the addition of support for variable row heights in the DataGrid component within the @fluentui-contrib/react-data-grid-react-window package. This feature would allow each row in the DataGrid to have a different height, similar to the functionality provided by the VariableSizeList in the react-window library.
Proposed Solution:
Implement a mechanism in the DataGrid component that allows developers to specify individual row heights. This could involve integrating functionality akin to VariableSizeList from react-window, enabling efficient rendering of lists with items of varying sizes.
Use Case:
In scenarios where data entries have differing content sizes, such as varying amounts of text or nested elements, the ability to adjust row heights individually would enhance the user interface and improve readability.
Additional Context:
The current implementation of the DataGrid component appears to support only fixed row heights. Introducing variable row heights would provide greater flexibility and align with common use cases where data entries are not uniform in size.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the DataGrid component in the @fluentui-contrib/react-data-grid-react-window package and compare its fixed-height behavior with react-window's VariableSizeList. Done means developers can specify individual row heights and rows with varying content render efficiently at those heights.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react, typescript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100