PDA

View Full Version : treeview و ليست نودها



vahidiran
پنج شنبه 19 دی 1387, 12:12 عصر
من يك treeview دارم كه كاربر مي تونه به ان نود اضافه كنه يا كم كنه حالا من مي خوام نام تمامي نودهايي كه در اين treeview هستش را در يك كمبوباكس ليست كنه
نظر خودم استفاده از برنامه بازگشتي هستش
ولي شايد راخ بهتري مثلا بودن يك كالكش ( مجموعه ) كه نام ها در اون باشن باشه؟
كسي مي تونه كمكم كنه؟

اوبالیت به بو
جمعه 20 دی 1387, 20:50 عصر
من يك treeview دارم كه كاربر مي تونه به ان نود اضافه كنه يا كم كنه حالا من مي خوام نام تمامي نودهايي كه در اين treeview هستش را در يك كمبوباكس ليست كنه
چند سوال:
1- TreeView شما از DataSet پر ميشه؟
2- منظور شما از Node آخرين فرزند هستش؟ يعني اگه TreeView درخت باشه منظورتون برگ اون هستش؟

vahidiran
شنبه 21 دی 1387, 17:42 عصر
نه بیندینگ به دیتا بیس نداره
نه هر برگ یا شاخه میانی یک نوده

mehrnoosh_al62
یک شنبه 22 دی 1387, 10:45 صبح
به نظر من همون تابع بازگشتی راه خوبیه...

Private Sub AddCombo(ByVal t As TreeNodeCollection)
For Each n As TreeNode In t
ComboBox1.Items.Add(n.Name)
If n.Nodes.Count > 0 Then
AddCombo(n.Nodes)
End If
Next
End Sub

vahidiran
یک شنبه 22 دی 1387, 23:25 عصر
آینو خودم نوشتم کار می کنه

rivate void addcom(TreeNode par)
{
int i;

for (i = 0; i <= par.Nodes.Count - 1; i = i + 1)
{
comboBox1.Items.Add(par.Nodes[i].Text);
if (par.Nodes[i].Nodes.Count > 0)
addcom(par.Nodes[i]);
}
}

بعدش اين کد که با فشار دادن کايد تمامي نم ها را توي يک کمبو باکس اضافه مي کنه
private void button6_Click(object sender, EventArgs e)
{
int i;
for (i = 0; i <= treeView1.Nodes.Count - 1; i = i + 1)
{
addcom(treeView1.Nodes[i]);
comboBox1.Items.Add(treeView1.Nodes[i].Text);
}
}

بعدش به از زبان سي شارپ تبديل کردنش خيلي آسونه