// Assume "dataItem" is a variable containing a data item in the tree ITreeBuilder treeBuilder = new TreeBuilder(); var parentDataItem = treeBuilder.GetParentDataItem(dataItem);
public void DeleteDataItem(object dataItem) { ITreeBuilder treeBuilder = new TreeBuilder(); var parentDataItem = treeBuilder.GetParentDataItem(dataItem); if(parentDataItem != null) { // Delete the child data item from the parent's children collection var childrenProperty = parentDataItem.GetType().GetProperty("Children"); var childrenCollection = (IList)childrenProperty.GetValue(parentDataItem); childrenCollection?.Remove(dataItem); // If the parent no longer has any children, remove the parent as well if(childrenCollection?.Count == 0) { DeleteDataItem(parentDataItem); } } }This example is a method that deletes a data item from a tree structure. It starts by calling the GetParentDataItem method to retrieve the parent data item of the data item being deleted. If the parent has other children, the method removes the deleted data item from the parent's children collection. If the parent has no other children, the method recursively calls itself to delete the parent as well. Overall, the ITreeBuilder interface and the GetParentDataItem method are useful for working with data in a tree structure, and are part of the Infragistics.Controls.Grids library.