We are currently retrieving hierarchical data in the form of strongly-typed collections. For example, the top level of data on the grid is of type BindingList<Operation>, the child level is BindingList<OperationPart>, and the grandchild level is BindingList<OperationPartJob>.
Whereas the sample on SyncFusion's site retrieves all data (parent, child, g-child), we are looking to retrieve child level data only when a parent record is expanded, then similar behavior for g-child data when a child row is expanded.
We can expand a parent row, retrieve our unique identifier, then retrieve child records based on the identifier which then displayed on our grid - lovely.
However, when we attempt to expand a child record we are unable to retrieve the child's unique identifier in order to make a database call to retrieve g-child data.
The method SetUpDataHierarchy() is currently called when the page is loaded AND after data is retrieved for child/g-child level data upon OnRecordExpanded events. As you will see, nothing dissimilar to what is in the hierarchical sample provided by SF apart from using strongly-typed collections over DataTables:
This is what we have for the OnRecordExpanded event handler - essentially we make sure the user is expanding the record, then we check to see the GroupLevel value (level for nested group). If 0, we know to get the child data. If 1, we would then get the g-child data and here lies our issue at the moment. Even when we click to expand a child record, the GroupLevel value in the RecordExpanded event handler is still 0 instead of 1. Also, e.Record is the root level record we first expanded (parent).
So in summary, is there something in the we are setting up the parent-child-grandchild relationships we are doing wrong AND/OR is there another way to retrieve g-child data in the RecordExpanded event handler?
We are stumped at the moment and would very much appreciate some help - thanks!