I've had some customers create cases asking how to keep the nodes of the UltraTree expanded after it's been refreshed with new data. The sample I've attached shows exactly how to do this.
var expandedNodes = new BindingList<String>(); foreach (var node in ultraTree1.Nodes) { if (node.Expanded) { expandedNodes.Add(node.Key); } } ultraTree1.BeginUpdate(); this.parentTableAdapter.Fill(this.dataSet1.Parent); this.childTableAdapter1.Fill(this.dataSet1.Child); ultraTree1.EndUpdate(); foreach (var key in expandedNodes) { var node = ultraTree1.Nodes[key]; node.Expanded = true; }
Code had a defunct dependency, but this is the gist of it.