Describe the bug
When a datagrid treeview has a frozen first column, clicking on '+' to expand a row does not fire expandRow event. As a result, the children node data is not fetched.
To Reproduce
Steps to reproduce the behavior:
Test a treeview example with first column set as frozen.
Expected behavior
Clicking on '+' expands the tree node.
Additional context
Related to
This is a known limitation at this time as documented https://github.com/infor-design/enterprise/blob/master/src/components/datagrid/readme.md#frozen-columns-limitations you cant use frozen columns with tree, groups, expandable row ect.
This is a tree grid right? Can you include the settings....
let gridOptions: SohoDataGridOptions = {
cellNavigation: true,
columns: dataGridColumns, // Array
columnGroups: columnGroups, // Array
disableClientSort: true,
disableClientFilter: true,
filterWhenTyping: false,
redrawOnResize: false,
menuId: 'menuId',
editable: true,
enableTooltips: true,
rowHeight: 'short',
saveUserSettings: {
columns: false,
rowHeight: false,
sortOrder: false,
pagesize: false,
activePage: false,
filter: false
},
frozenColumns: {
left: [columnId] // Array
},
toolbar: null,
actionableMode: true,
showDirty: false,
emptyMessage: null,
filterable: false,
selectable: 'siblings',
selectChildren: true,
treeGrid: true,
paging: false,
indeterminate: false,
pagesize: 100,
};
And what about some of the dataset and column settings?
I am able to reproduce the issue in enterprise-ng demo app with the following changes:
datagrid-treegrid-service-demo.ts
public getFrozenColumns(): SohoDataGridFrozenColumns {
let frozenColumns: SohoDataGridFrozenColumns = {};
frozenColumns.left = [ 'taskName' ];
return frozenColumns;
}
datagrid-treegrid.demo.html
<div soho-busyindicator soho-datagrid
(selected)="onSelected($event)"
(expandrow)="onExpandRow($event)"
(collapserow)="onCollapseRow($event)"
selectable="multiple"
[treeGrid]="true"
[columns]="columns"
[frozenColumns] = "frozenColumns"
[dataset]="data"
[stretchColumn]="'desc'"
[toolbar]="{title: 'Tasks (Hierarchical)', results: true, personalize: true}"
[filterable]="true">
</div>
And a frozenColumns getter in datagrid-treegrid-demo.ts
public get frozenColumns(): SohoDataGridFrozenColumns {
return this.treeService.getFrozenColumns();
}
Great thanks! Yeah i knew it was limited at the moment. I will add tree grid support so it works with frozen columns, problem is it has to append on both sides
http://master-enterprise.demo.design.infor.com/components/datagrid/test-tree-frozen-columns
http://localhost:4000/components/datagrid/test-tree-frozen-columns
Passed QA on all browsers.