public void Insert(int index, DataTreeListViewItem item) { if (index < 0 && index > base.Count) { throw new ArgumentOutOfRangeException("index"); } if (item == null) { throw new ArgumentNullException("item"); } if (!this.Contains(item)) { base.List.Insert(index, item); item.Parent = this.owner; if (item.Parent != null) { this.owner.IsLeaf = false; item.IndentCount = this.owner.IndentCount + 1; if (item.Parent.IsExpanded && item.Parent.IsInListView) { item.AddToListView(this.ListView); return; } } else { item.IndentCount = 1; item.AddToListView(this.ListView); } } }
private void Expand() { if (!this.IsLeaf && this.IsExpanded && this.ListView != null) { this.ListView.InternalOnExpandItem(this); int index = base.Index; foreach (object obj in this.ChildrenItems) { DataTreeListViewItem dataTreeListViewItem = (DataTreeListViewItem)obj; dataTreeListViewItem.AddToListView(this.listView); } foreach (object obj2 in this.ChildrenItems) { DataTreeListViewItem dataTreeListViewItem2 = (DataTreeListViewItem)obj2; if (dataTreeListViewItem2.IsExpanded) { dataTreeListViewItem2.Expand(); } } } }