Hi, the Grid component is the Data Grid or could be in the Tree Grid too. We are evaluating wich components feats more for our needs.
The Image that I share is the grid that actually we have and is in another company grid (Wijmo Flex Grid).
In wijmo I achived what I want with this code:
In wijmo you can check with "GroupHeader" cell type the "row" that contains the group info. With item (groupHeader object) item.groupDescription.propertyName I can check if, in my case, is node, accessory, material, component (different nested groups). I want to add in this "rows" some combo box and buttons that depend on the group.
Thanks.
<ng-template wjFlexGridCellTemplate
[cellType]="'GroupHeader'" let-row="row" let-item="item" let-cell="cell">
<div class="d-inline-flex container-fluid px-0 align-items-center">
{{hideEmptyGroupHeaders(item, row)}}
<a class="ml-1" (click)="row.isCollapsed= !row.isCollapsed">
<i *ngIf="row.isCollapsed" class="fas fa-caret-right"></i>
<i *ngIf="!row.isCollapsed" class="fas fa-caret-down"></i>
</a>
<div *ngIf="item.groupDescription.propertyName == 'node'"
class="d-inline-flex container-fluid align-items-center">
<b class="scs-group-grid-title font-weight-bold">{{item.name}}</b>
<wj-combo-box class="scs-grid-combo-box scs-group-grid-form-control" style="margin-left: 42px;"
#nodeStateCombo
[isRequired]="true"
[isEditable]="false"
[displayMemberPath]="'localizedLabels.'+currentLang"
[itemsSource]="nodeStateDS[item.name]"
(gotFocus)="comboGotFocused = true"
(selectedItemChange)="changeNodeStateDataSource
(comboGotFocused, $event, item.name, source.sourceCollection)"
>
</wj-combo-box>
<button *ngIf="hasNodeDynamicAccessories(item.name)"
class="btn btn-light btn-sm mx-3 py-0" style="font-size: 0.8rem;"
(click)="openAccessoryEditor(item.name)"
[disabled]="disabledCombo(nodeStateCombo)"
[ngbTooltip]="'btn.OpenAccessoryEditor' | translate"
container="body">
<i class="fas fa-tasks"></i>
</button>
</div>
<div *ngIf="item.groupDescription.propertyName == 'accessoryId'
&& item.items[0].accessory"
class="d-inline-flex container-fluid align-items-center">
<div class="font-weight-bold scs-group-grid-title">
{{getAccessoryGroupDescriptor(item.items[0].accessory)}}
</div>
<wj-combo-box class="scs-grid-combo-box scs-group-grid-form-control" style="margin-left: 28px;"
#combo
[isRequired]="true"
[isEditable]="false"
[displayMemberPath]="'localizedLabels.'+currentLang"
[itemsSource]="
getNodeContentDataSourceSet(item.items[0],nodeContentDS)"
(clickAction)="dropDown(combo)"
(gotFocus)="comboGotFocused = true"
(selectedItemChange)="
changeNodeContentDataSource(comboGotFocused,
$event,item.items[0],source.sourceCollection)"
>
</wj-combo-box>
</div>
</ng-template>