Exemple #1
0
        private void tvFormel_DragDrop(object sender, DragEventArgs e)
        {
            TreeNode NewNode;

            if (e.Data.GetDataPresent(typeof(TreeNode)))
            {
                Point pt = ((TreeView)sender).PointToClient(new Point(e.X, e.Y));

                TreeNode DestinationNode = ((TreeView)sender).GetNodeAt(pt);

                NewNode = (TreeNode)e.Data.GetData("System.Windows.Forms.TreeNode");

                if (DestinationNode != NewNode)
                {
                    int parentGoodsID = 0;
                    int selfGoodsID   = 0;

                    string parentFrockNumber = "";
                    string selfFrockNumber   = "";

                    S_FrockStandingBook selfFrock = new S_FrockStandingBook();

                    SeparateString(DestinationNode.Tag.ToString(), out parentGoodsID, out parentFrockNumber);
                    SeparateString(NewNode.Tag.ToString(), out selfGoodsID, out selfFrockNumber);

                    selfFrock.GoodsID     = selfGoodsID;
                    selfFrock.FrockNumber = selfFrockNumber;

                    if (parentGoodsID != 0 && parentFrockNumber != "")
                    {
                        selfFrock.ParentGoodsID     = parentGoodsID;
                        selfFrock.ParentFrockNumber = parentFrockNumber;
                    }

                    if (!m_serverFrockStandingBook.ChangeParentChildRelationships(selfFrock, out m_strErr))
                    {
                        MessageDialog.ShowPromptMessage(m_strErr);
                        return;
                    }
                    else
                    {
                        DestinationNode.Nodes.Add((TreeNode)NewNode.Clone());

                        DestinationNode.Expand();

                        //删除已经移动的节点
                        NewNode.Remove();
                        RefrshData();
                    }
                }
            }
        }