Enterprise: Datagrid TreeView: expandRow is not triggered when the first column in a treeview is frozen

Created on 6 May 2019  路  7Comments  路  Source: infor-design/enterprise

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

464

1638

[5] datagrid landmark type

All 7 comments

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.

Was this page helpful?
0 / 5 - 0 ratings