components icon indicating copy to clipboard operation
components copied to clipboard

feat(Mat-Table): Allow for adding multiple TBODY within Mat-Table

Open mattiLeBlanc opened this issue 1 year ago • 1 comments
trafficstars

Feature Description

In the current cdk Table implementation we can only have on <TR> with a matRowDef. This will generate a TBODY element with the TR's inside. That works fine for most use case.

I would like to be able to add a second TBODY with a selection of the rows of the datasource (based on a filter) so that I have 2 groups of rows within the same table.

I tried using the When option in matRowDef but that doesn't result in 2 TBODY's, but it comes close into what I am looking for.

Use Case

I am having a list of Categories of which the top 3 can have primary flag. Those are display at the top, then row 4 until X is the non primary Categories. I enabled drag and drop and I only want to be able to order the Primary rows within their TBODY and the non-primary rows in their TBODY. So you can't accidentally drop a Non primary row into a primary block.

You can control if a category is primary or not by editing the Category itself.

So to sum up feature request:

  • Allow for multiple TBODYs which can have a filtered collection of the datasource
  • Allow Drag and drop within that tbody only image

mattiLeBlanc avatar Nov 28 '23 04:11 mattiLeBlanc

Using multiple

elements is a very basic feature for creating row groupings, and it is supported by many table implementations. Angular should at least provide a way to extend this functionality.

keatkeat87 avatar Aug 05 '24 23:08 keatkeat87