When using Treegrid, I noticed that 3 errors appear
1. If I select a child node of one of the main nodes and then call refreshData(), then the main node itself and all its child nodes are selected
2. If I filter the tree through FilterBar and call refresh Data(), then after it is executed, the tree filtering is reset and the tree shows all nodes
3. If I use selectionProperty="state" on the tree, a warning appears in the debugger console
	
		
 and TreeGrid_Body does not respond
I have prepared code for testing where these errors can be reproduced.
	File to download in DataSource
multilanguageStates.txt
							
						
					1. If I select a child node of one of the main nodes and then call refreshData(), then the main node itself and all its child nodes are selected
2. If I filter the tree through FilterBar and call refresh Data(), then after it is executed, the tree filtering is reset and the tree shows all nodes
3. If I use selectionProperty="state" on the tree, a warning appears in the debugger console
			
			
				"ISC_Core.js:1432*08:59:19.958:MMV0:WARN:TreeGridBody:multilanguageList_body:row heights not yet available; returning all zeroes"
			
		
	I have prepared code for testing where these errors can be reproduced.
Code:
	
	import React, { Component } from 'react';
import { DataSource, DSField, VLayout, Button, TreeGrid, TGField } from 'smartclient-pro/react';
class App extends Component {
  constructor(param) {
    super(param);
  };
  transformMultilanguages(dsResponse, dsRequest, data) {
    this.setupIDs(dsResponse.data, 1);
    return dsResponse;
  }
  setupIDs(records, id, pid) {
    let $id = id;
    for (let record of records) {
      record.parentId = pid;
      record.id = $id;
      $id++;
      let childs = record.properties;
      if (childs != null && childs.length) {
        $id = this.setupIDs(childs, $id, $id - 1);
      }
    }
    return $id;
  }
  onSelectionUpdated(firstRecord, selectedRecords) {
    let grid = window.multilanguageList;
    let tree = grid.data;
    for (let record of selectedRecords) {
      record.changed = true;
      let parents = tree.getParents(record);
      for (let parent of parents) {
        parent.changed = true;
      }
    }
  }
  refreshData() {
    window.multilanguageList.refreshData();
  }
  render() {
    return (
      <>
        <DataSource ID="multilanguageDS" clientOnly="true"
          dataURL="multilanguageStates.txt"
          transformResponse={this.transformMultilanguages.bind(this)}
        >
          <fields>
            <DSField name="id" type="integer" primaryKey="true" />
            <DSField name="parentId" type="integer" foreignKey="id" />
            <DSField name="name" type="text" canFilter="true" />
            <DSField name="state" type="boolean" />
            <DSField name="istate" type="boolean" />
            <DSField name="checkedState" type="integer" />
            <DSField name="changed" type="boolean" />
            <DSField name="properties" type="any" childrenProperty="true" />
          </fields>
        </DataSource>
        <VLayout membersMargin="5" width="100%" height="100%">
          <members>
            <Button
              title="refresh data"
              autoFit="true" showFocused="false"
              click={this.refreshData.bind(this)}
            />
            <TreeGrid ID="multilanguageList" dataSource="multilanguageDS" autoFetchData="true" loadDataOnDemand="false" keepParentsOnFilter="true" filterOnKeypress="true"
              width="100%" height="*" canEdit="false" showFilterEditor="true" showHeader="false" showFolderIcons="false" showNodeIcons="false"
              selectionUpdated={this.onSelectionUpdated.bind(this)} selectionAppearance="checkbox" showSelectedStyle="false" cascadeSelection="true" showPartialSelection="true"
            >
              <fields>
                <TGField name="name" escapeHTML="false" />
              </fields>
            </TreeGrid>
          </members>
        </VLayout>
      </>
    );
  }
}
export default App;
/*
              selectionProperty="state"
*/
multilanguageStates.txt
Comment