PDA

View Full Version : ایجاد checkbox در برخی از نودهای treeview



smt1383
دوشنبه 29 شهریور 1389, 16:05 عصر
با سلام خدمت دوستان
در کنترل treeview هرگاه خاصیت CheckBoxes را True کنیم تمامی Node ها چه در Level اول و چه در Level های بعدی همگی دارای Checkbox می شوند. اما من می خواهم فقط تعداد معینی از نودهایی که خودم مشخص می کنم CheckBox داشته باشند. ممنون می شوم اگر دوستان راهنمایی کنند.

smt1383
سه شنبه 30 شهریور 1389, 08:19 صبح
کسی از دوستان این کارو نکرده؟ یک Treeview که فقط بعضی از Node های آن CheckBox داشته باشه؟

smt1383
دوشنبه 12 مهر 1389, 22:09 عصر
من خودم مثال هایی در این باره دیدم که هر کدام اشکالاتی داشت. با استفاده از آن ها و تغییراتی که دادم توانستم TreeView مورد نظر خودم را ایجاد کنم. در این TreeView هر کدام از TreeNode ها که خاصیت Tag آن برابر "Yes" باشد، CheckBox خواهد داشت و اگر خاصیت Tag آن برابر هر مقدار دیگر مثلاً "No" باشد، آن نود CheckBox نخواهد داشت. به عنوان مثال:


for (int i = 0; i <4; ++i)
{
this.customTreeView1.Nodes.Add(string.Format("First level {0}", i));
this.customTreeView1.Nodes[i].Tag = "Yes";
for (int j = 0; j < 5; j++)
{
this.customTreeView1.Nodes[i].Nodes.Add(string.Format("Second level {0}", j));
if (j % 2 == 0) this.customTreeView1.Nodes[i].Nodes[j].Tag = "Yes";
else this.customTreeView1.Nodes[i].Nodes[j].Tag = "No";
for (int k = 0; k < 5; k++)
{
this.customTreeView1.Nodes[i].Nodes[j].Nodes.Add(string.Format("Third level {0}", k));
this.customTreeView1.Nodes[i].Nodes[j].Nodes[k].Tag = "No";
}

}
}

ممنون می شوم اگر دوستان نظری برای بهتر شدن این کنترل دارند بیان کنند.