PDA

View Full Version : سوال: چگونه میتوان تمامی نود های یک تری ویو مثلا (تری ویو 1) را در تری ویو دیگر مثلا (تری ویو 2) کپی کرد؟



alexmcse
سه شنبه 13 مرداد 1394, 05:18 صبح
سلام
چگونه میتوان تمامی نود های یک تری ویو مثلا (تری ویو 1) رادر تری ویو دیگر مثلا (تری ویو 2) کپی کرد؟
با کدنویسی

عکس را ببینید
تشکر

ژیار رحیمی
سه شنبه 13 مرداد 1394, 10:05 صبح
public void Copy(TreeView treeview1, TreeView treeview2)
{
TreeNode newTn;
foreach (TreeNode tn in treeview1.Nodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
CopyChilds(newTn, tn);
treeview2.Nodes.Add(newTn);
}
}


public void CopyChilds(TreeNode parent, TreeNode willCopied)
{
TreeNode newTn;
foreach (TreeNode tn in willCopied.ChildNodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
parent.ChildNodes.Add(newTn);
}
}

alexmcse
سه شنبه 13 مرداد 1394, 13:06 عصر
دوست عزیز


public void CopyChilds(TreeNode parent, TreeNode willCopied){
TreeNode newTn;
foreach (TreeNode tn in willCopied.ChildNodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
parent.ChildNodes.Add(newTn);
}
}
کلمات ChildNodes و Value را نمیشناسد

تست کنید لطفا

ژیار رحیمی
سه شنبه 13 مرداد 1394, 13:19 عصر
این نمونه خودم تست کردم کامل جواب داد

private void button1_Click(object sender, EventArgs e)
{
foreach (TreeNode originalNode in treeView1.Nodes)
{
TreeNode newNode = new TreeNode(originalNode.Text);
newNode.Tag = originalNode.Tag;
treeView2.Nodes.Add(newNode);
IterateTreeNodes(originalNode, newNode);
}
}
private void IterateTreeNodes(TreeNode originalNode, TreeNode rootNode)
{
foreach (TreeNode childNode in originalNode.Nodes)
{
TreeNode newNode = new TreeNode(childNode.Text);
newNode.Tag = childNode.Tag;
treeView2.SelectedNode = rootNode;
treeView2.SelectedNode.Nodes.Add(newNode);
IterateTreeNodes(childNode, newNode);
}
}

alexmcse
سه شنبه 13 مرداد 1394, 13:20 عصر
public void Copy(TreeView treeview1, TreeView treeview2)
{
TreeNode newTn;
foreach (TreeNode tn in treeview1.Nodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
CopyChilds(newTn, tn);
treeview2.Nodes.Add(newTn);
}
}


public void CopyChilds(TreeNode parent, TreeNode willCopied)
{
TreeNode newTn;
foreach (TreeNode tn in willCopied.ChildNodes)
{
newTn = new TreeNode(tn.Text, tn.Value);
parent.ChildNodes.Add(newTn);
}
}





کدهای فوق اصلاح شد

تشکر

public void Copy(TreeView treeview1, TreeView treeview2){
TreeNode newTn;
foreach (TreeNode tn in treeview1.Nodes)
{
newTn = new TreeNode(tn.Text);
CopyChilds(newTn, tn);
treeview2.Nodes.Add(newTn);
}
}


public void CopyChilds(TreeNode parent, TreeNode willCopied)
{
TreeNode newTn;
foreach (TreeNode tn in willCopied.Nodes)
{
newTn = new TreeNode(tn.Text);
CopyChilds(newTn, tn);
parent.Nodes.Add(newTn);

}
}

:تشویق::تشویق: