Posted 19 July 2018, 7:58 am EST
I have a data structure I need to display in a FlexGrid in an Angular6 application.
data = {
"Name": "Acme",
"Number": "454",
"Foos": [
{
"Abc": "Alpha",
"Def": "Beta",
},
{
"Abc": "Delta",
"Def": "Charlie",
}
],
"Bars": [
{
"Abc": "Foxtrot",
"Def": "Echo",
},
{
"Abc": "Tango",
"Def": "Kilo",
}
]
}
The arrays are static - they will always contain 2 objects, and the attribute names will never change, but I need to display the row flattened in the grid, so I’m hoping I can do something like this:
<wj-flex-grid #flex
[itemsSource]="data">
<wj-flex-grid-column [header]="'Name'" [binding]="'Name'" align="center" [width]="60">
<ng-template wjFlexGridCellTemplate [cellType]="'Cell'" let-row="row" let-item="item">
<span class="grid_link">{{item.Name}}</span>
</ng-template>
</wj-flex-grid-column>
<wj-flex-grid-column [header]="'Number'" [binding]="'Number'" align="center" [width]="60">
<ng-template wjFlexGridCellTemplate [cellType]="'Cell'" let-row="row" let-item="item">
<span class="grid_link">{{item.Number}}</span>
</ng-template>
</wj-flex-grid-column>
<wj-flex-grid-column [header]="Foos Abc" [binding]="'Foos[0]'" [width]="140">
<ng-template wjFlexGridCellTemplate [cellType]="'Cell'" let-row="row" let-item="item">
<span class="grid_link">{{item.Abc}}</span>
</ng-template>
</wj-flex-grid-column>
<wj-flex-grid-column [header]="Foos Def" [binding]="'Foos[1]'" [width]="140">
<ng-template wjFlexGridCellTemplate [cellType]="'Cell'" let-row="row" let-item="item">
<span class="grid_link">{{item.Def}}</span>
</ng-template>
</wj-flex-grid-column>
<wj-flex-grid-column [header]="Bars Abc" [binding]="'Bars[0]'" [width]="140">
<ng-template wjFlexGridCellTemplate [cellType]="'Cell'" let-row="row" let-item="item">
<span class="grid_link">{{item.Abc}}</span>
</ng-template>
</wj-flex-grid-column>
<wj-flex-grid-column [header]="Bars Def" [binding]="'Bars[1]'" [width]="140">
<ng-template wjFlexGridCellTemplate [cellType]="'Cell'" let-row="row" let-item="item">
<span class="grid_link">{{item.Def}}</span>
</ng-template>
</wj-flex-grid-column>
</wj-flex-grid>
Is that correct? Will that work? Or is there another way to set this up?
The end result should be a single grid row that looks like this:
Acme 454 Alpha Beta Delta Charlie Foxtrot Echo Tango Kilo