The expandable plugin for UI-Grid provides the ability to have a subgrid in your grid.
You can install
npm i --save @ui-grid/expandable
Once you install you need to load the respective JS and CSS files as seen bellow:
Alternatively, if you are using Webpack or RequireJS to load your dependencies, you can do the following at the top of the file that needs it:
Once you load the file, you need to include 'ui.grid.expandable' module in your angularJS app's dependencies, and add the ui-grid-expandable directive to your grid element.
To show the subgrid you need to provide following grid options:
vmgridOptions =// the template that will be used to render subgrid.expandableRowTemplate: 'expandableRowTemplate.html'// the height of the subgridexpandableRowHeight: 140// the scope of the expanded subgridexpandableRowScope: expandableScope;
expandableRowTemplate will be the template for subgrid and expandableRowHeight will be the height of the subgrid. expandableRowScope can be used to add variables to the scope of expanded grid. These variables can then be accessed from expandableRowTemplate. The grid api provides the following events and methods for subGrids:
// rowExpandedStateChanged is fired for each row as its expanded:gridApiexpandableon;// These can be used to expand/collapse all rows of the grid:gridApiexpandable;gridApiexpandable;
You can find an example of this plugin in action on our website
Documentation for this plugin is provided in the api documentation, but we recommend that you pay special attention to the following: