Skip to content

Commit 6e5194c

Browse files
committed
fix(group-by): Expose the column in IGroupByRecord #6939
1 parent 87dee68 commit 6e5194c

File tree

4 files changed

+8
-4
lines changed

4 files changed

+8
-4
lines changed

projects/igniteui-angular/src/lib/data-operations/groupby-record.interface.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { ISortingExpression } from './sorting-expression.interface';
2+
import { IgxColumnComponent } from '../grids/columns/column.component';
23

34
/**
45
* @hidden
@@ -13,4 +14,5 @@ export interface IGroupByRecord {
1314
groupParent: IGroupByRecord;
1415
groups?: IGroupByRecord[];
1516
height: number;
17+
column?: IgxColumnComponent;
1618
}

projects/igniteui-angular/src/lib/data-operations/sorting-strategy.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -160,14 +160,16 @@ export class IgxSorting implements IGridSortingStrategy {
160160
let result = [];
161161
while (i < data.length) {
162162
const group = this.groupedRecordsByExpression(data, i, expressions[level]);
163+
const column = grid.getColumnByName(expressions[level].fieldName);
163164
const groupRow: IGroupByRecord = {
164165
expression: expressions[level],
165166
level,
166167
records: cloneArray(group),
167168
value: group[0][expressions[level].fieldName],
168169
groupParent: parent,
169170
groups: [],
170-
height: grid ? grid.renderedRowHeight : null
171+
height: grid ? grid.renderedRowHeight : null,
172+
column: column
171173
};
172174
if (parent) {
173175
parent.groups.push(groupRow);

projects/igniteui-angular/src/lib/grids/grid/grid.groupby.spec.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2690,9 +2690,9 @@ export class GroupableGridComponent extends DataParent {
26902690
<igx-column [field]="'ReleaseDate'" [header]="'ReleaseDate'" [width]="200" [groupable]="true" [hasSummary]="false"></igx-column>
26912691
<igx-column [field]="'Downloads'" [header]="'Downloads'" [width]="200" [groupable]="true" [hasSummary]="false"></igx-column>
26922692
<igx-column [field]="'ProductName'" [header]="'ProductName'" [width]="200" [groupable]="true" [hasSummary]="false"></igx-column>
2693-
<igx-column [field]="'Released'" [header]="'Released'" [width]="200" [groupable]="true" [hasSummary]="false"></igx-column>
2693+
<igx-column [field]="'Released'" [header]="'Is it Released'" [width]="200" [groupable]="true" [hasSummary]="false"></igx-column>
26942694
<ng-template igxGroupByRow let-groupRow>
2695-
<span>Total items with value:{{ groupRow.value }} are {{ groupRow.records.length }}</span>
2695+
<span>Grouping by "{{groupRow.column.header}}". Total items with value:{{ groupRow.value }} are {{ groupRow.records.length }}</span>
26962696
</ng-template>
26972697
<ng-template igxRowExpandedIndicator let-groupRow>
26982698
<span>EXPANDED</span>

projects/igniteui-angular/src/lib/grids/grid/groupby-row.component.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ export class IgxGridGroupByRowComponent {
205205
* @hidden
206206
*/
207207
get dataType(): any {
208-
const column = this.grid.getColumnByName(this.groupRow.expression.fieldName);
208+
const column = this.groupRow.column;
209209
return (column && column.dataType) || DataType.String;
210210
}
211211
}

0 commit comments

Comments
 (0)