Ejemplo n.º 1
0
        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
            {
            }
        }
Ejemplo n.º 2
0
        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;
            }
        }
Ejemplo n.º 3
0
        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.");
                }
            }
        }
Ejemplo n.º 4
0
 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.");
         }
     }
 }