PDA

View Full Version : سوال: مشکل در treeview



harbabi
جمعه 24 بهمن 1393, 19:48 عصر
اولا بگم من چند تا سوال کردن کسی جوابمو نداده. از سایتتون ناراضی ام.:متفکر:
سوال:
من می خوام در هر لحظه به آخرین نود treeview نود جدیدی به عنوان فرزند اضافه کنم. ممنون می شم کمکم کنید.

aminmousavi
جمعه 24 بهمن 1393, 20:31 عصر
سلام دوست عزیز . کسانی که توی حل مشکلات به یکدیگر کمک میکنن صاحب اینجا نیستن ! که شما بخواین از کسی یا چیزی ناراضی باشین . منفعتی هم برای دوستانی که لطف میکنن به دیگران کمک میکنن وجود نداره .
در خصوص سوالتون اینکه ، توضیح بیشتری باید بدین ، یعنی شما یک صفحه دارین که تا بینهایت میخواین به آخرین نود ، یک نود اضافه شه ؟!
خواهش میکنم سوالتون رو واضح بپرسین تا دوستان بتونن کمکتون کنن .
با فرض اینکه مثلا توی رخداد کلیک یا formload یا ... بخواین یک نود به آخرین نود اضافه بشه :

TreeView1.Nodes[TreeView1.Nodes.Count-1].ChildNodes.Add(new TreeNode("test"));

harbabi
جمعه 24 بهمن 1393, 20:59 عصر
سلام دوست عزیز
خواستم بچه هارو تحریک کنم یکی جوابم رو بده. ناراحت نشید:چشمک:
از پاسختون هم بسیار ممنونم. لطف کردین.
ببینید سوال به این شکله که کاربر درون textbox یک متن رو وارد میکنه. من باید داخل درخت در مکان مناسب این نود رو ادد کنم. و تمام parent های لازم رو ازنو ایجاد کنم
مثلا کار بر اگر بزنه ( نوع1-2-3-4)
درخت به شکل زیر ساخته بشه:
نوع1
|
نوع1-2
|
نوع1-2-3
|
نوع1-2-3-4
باز هم از کمکتون ممنونم.:لبخندساده:

harbabi
جمعه 24 بهمن 1393, 21:36 عصر
پاسختون رو امتحان کردم آقای موسوی. مشکل اینجاس که من برای ساختن درخت مرتبا صفحه رو رفرش نمی کنم و می خوام که بایک بار کلیک buttomتمام نود هارو تا انتها بسازم.
پیشاپیش تشکر

aminmousavi
جمعه 24 بهمن 1393, 22:39 عصر
خوب شما از همون کد بالا میتوتین n تا شاخه و فرزند ایجاد کنید .
برای شاخه اصلی :

TreeView1.Nodes.Add(new TreeNode("test"));


برای مثلا فرزند شاخه اصلی دوم :

int index = 1;
TreeView1.Nodes[index].ChildNodes.Add(new TreeNode("test"));


برای فرزند ، فرزند شاخه اصلی دوم :


int index = 1;
int index2 = 1;
TreeView1.Nodes[index].ChildNodes[index2].ChildNodes.Add(new TreeNode("test"));


الی آخر ...

pikoolas
شنبه 25 بهمن 1393, 14:51 عصر
شما میخاید این درخت در دیتا بیس هم ذخیره بشه و ازش اونجام استفاده کنید ؟

harbabi
یک شنبه 26 بهمن 1393, 20:13 عصر
خوب شما از همون کد بالا میتوتین n تا شاخه و فرزند ایجاد کنید .
برای شاخه اصلی :

TreeView1.Nodes.Add(new TreeNode("test"));


برای مثلا فرزند شاخه اصلی دوم :

int index = 1;
TreeView1.Nodes[index].ChildNodes.Add(new TreeNode("test"));


برای فرزند ، فرزند شاخه اصلی دوم :


int index = 1;
int index2 = 1;
TreeView1.Nodes[index].ChildNodes[index2].ChildNodes.Add(new TreeNode("test"));


الی آخر ...
ببینید اقای موسوی
شما فرض کنید من می خوام داخل یک حلقه ی for، درختی رو ایجاد کنیمبه شکل پله ای ، ینی در هر مرحله نود جدید رو به عنوان فرزند نود قبل ایجاد کنیم
توی یک همچین شرایطی، اگر بخوام چهارمین نود رو اضافه کنم باید کد مشابه زیر رو بنویسم:

;((TreeView1.Nodes[index].Nodes[index1].Nodes[index2].Nodes[index3].ChildNodes.Add(new TreeNode("test"

مشکل اینجاس که من نمی دونم چطور باید این کار رو برای مثلا 30 بار انجام بدم؟
باسپاس

harbabi
یک شنبه 26 بهمن 1393, 20:15 عصر
شما میخاید این درخت در دیتا بیس هم ذخیره بشه و ازش اونجام استفاده کنید ؟
بله . می خوام در دیتا بیس هم ازش استفاده کنم.
از کمک دوستان ممنونم