My employer has a use case that would work great with the self-referencing heirarchy, however, the default behavior does not quite match what we want to do with it, and I'm at a loss for trying to get it working the way I want to.
Our data model is represented using objects (not DataTables or DataSources) and is bound as a list of objects to DataSource in NeedsDataSource.
1. We only want to show root nodes on the root node. From what I can tell, a simple FilterExpression on the MasterTableView fixes this.
2. We want to allow sorting, filtering, paging, grouping, etc.. I was able to fix this by turning this all on and then turning it off on the child grids on pre-render.
3. We want the filters to also apply to the child grids AND include the top level node if a child node matches. <-- this is where I get stuck. I figured a custom filter expression combined with a method on each object that returns true if that item or any child item matches would work, but it doesn't seem as if calling custom methods on the objects is allowed in FilterExpression.
Our data model is represented using objects (not DataTables or DataSources) and is bound as a list of objects to DataSource in NeedsDataSource.
1. We only want to show root nodes on the root node. From what I can tell, a simple FilterExpression on the MasterTableView fixes this.
2. We want to allow sorting, filtering, paging, grouping, etc.. I was able to fix this by turning this all on and then turning it off on the child grids on pre-render.
3. We want the filters to also apply to the child grids AND include the top level node if a child node matches. <-- this is where I get stuck. I figured a custom filter expression combined with a method on each object that returns true if that item or any child item matches would work, but it doesn't seem as if calling custom methods on the objects is allowed in FilterExpression.