private void ChangeParent(DataTreeViewNode node) { object dataParentID = this.parentIdProperty.GetValue(this.listManager.List[node.Position]); if (node.ParentID.ToString() != dataParentID.ToString()) { if (dataParentID.ToString() == "-1") { dataParentID = 0; } DataTreeViewNode newParentNode = this.items_Identifiers[dataParentID] as DataTreeViewNode; if (newParentNode != null) { node.Remove(); newParentNode.Nodes.Add(node); } else { throw new ApplicationException("Item not found or wrong type."); } } else { } }
private void DataTreeView_ListChanged(object sender, ListChangedEventArgs e) { switch (e.ListChangedType) { case ListChangedType.ItemAdded: if (!TryAddNode(this.CreateNode(this.listManager, e.NewIndex))) { throw new ApplicationException("Item are not added."); } break; case ListChangedType.ItemChanged: DataTreeViewNode chnagedNode = this.items_Positions[e.NewIndex] as DataTreeViewNode; if (chnagedNode != null) { this.RefreshData(chnagedNode); this.ChangeParent(chnagedNode); } else { throw new ApplicationException("Item not found or wrong type."); } break; case ListChangedType.ItemMoved: DataTreeViewNode movedNode = this.items_Positions[e.OldIndex] as DataTreeViewNode; if (movedNode != null) { this.items_Positions.Remove(e.OldIndex); this.items_Positions.Add(e.NewIndex, movedNode); } else { throw new ApplicationException("Item not found or wrong type."); } break; case ListChangedType.ItemDeleted: DataTreeViewNode deletedNode = this.items_Positions[e.NewIndex] as DataTreeViewNode; if (deletedNode != null) { this.items_Positions.Remove(e.NewIndex); this.items_Identifiers.Remove(deletedNode.ID); deletedNode.Remove(); } else { //throw new ApplicationException("Item not found or wrong type."); } break; case ListChangedType.Reset: this.ResetData(); break; } }
private void changeParent(DataTreeViewNode node) { object dataParentID = parentKeyProperty.GetValue(listManager.List[node.Position]); if (node.ParentKey != dataParentID) { DataTreeViewNode newParentNode = items_Identifiers[dataParentID] as DataTreeViewNode; if (newParentNode != null) { node.Remove(); newParentNode.Nodes.Add(node); } else { throw new ApplicationException("Item not found or wrong type."); } } }
private void ChangeParent(DataTreeViewNode node) { object dataParentID = this.parentIdProperty.GetValue(this.listManager.List[node.Position]); if (node.ParentID != dataParentID) { DataTreeViewNode newParentNode = this.items_Identifiers[dataParentID] as DataTreeViewNode; if (newParentNode != null) { node.Remove(); newParentNode.Nodes.Add(node); } else { throw new ApplicationException("Item not found or wrong type."); } } }