PDA

View Full Version : اضافه کردن چند سطح پی در پی در یک TreeView



منصور بزرگمهر
یک شنبه 29 فروردین 1389, 08:49 صبح
چگونه می شود سه یا چهار و یا بیشتر سطح به یک زیر مجموعه TreeView اضافه کرد. لطفاً فقط مثال ساده بزنید، و از رفتن به مسائل بانک اطلاعاتی دوری کنید. (نمی خواهم بانک اطلاعاتی را به درختواره متصل کنم).

سرچ کردم، در ادرس زیر به مثالی جالب رسیدم
http://barnamenevis.org/forum/showthread.php?t=200943&highlight=Treeview

دوستمان Hossis در سومین یا چهارمین جواب با کلک رشتی (ببحشید به کسی یا جائی نمی خواهم جسارت بکنم، ولی کلمه بهتری نیز پیدا نمی کنم) مشکل را حل کرده، ولی باید راه حل بهتر و درست آن موجود باشد، لطفاً با مثال ساده توضیح دهید.

منصور بزرگمهر
یک شنبه 29 فروردین 1389, 10:26 صبح
البته من مشکلم را با روش بسیار بدتر (که نمی دانم اسمش را چی دیگه می خواهم بگذارم) حل کردم، من کنترل VB6 را روی فرم گذاشتم، و مانند گذشته کدهای TreeView را که در VB.6 می نوشتم، حال دوباره نوشتم، و قشنگ جواب داد.

ولی من به این جوابها قانع نمی شوم، و راه حل .Net را می خواهم، و راه حل درست ان است، اگر کسی جواب دارد لطفاً پاسخ گوید.

Alirezanet
یک شنبه 29 فروردین 1389, 10:58 صبح
خوب اون روش روشه اشتباهي نبود ! ولي راه هاي ديگه هم بايد باشه !
شما به طور كلي بايد يه مشخصه از گره مورد نظرتون كه ميخواين بهش فرزند اضافه كنيد داشته باشين كه بتونيد به برنامه معرفيش كنيد !
حالا هم ميتونيد از خاصيت KEY طبق مثال حسين استفاده كنيد هم ازINDEX گره مورد نظر و در نهايت از Selected Node هم ميتونين استفاده كنيدكه زمان استفاده از برنامه كاربر يه گره رو انتخاب كنه و بهش گره هاي فرزند رو اضافه كنه !

منصور بزرگمهر
یک شنبه 29 فروردین 1389, 11:49 صبح
جناب آقای Alirezanet (http://barnamenevis.org/forum/member.php?u=43802) متشکرم

ولی یک مثال بزنید و کد بگذارید. یک TreeView با مثالاً چهار سطح. یک ریشه، و چهار فرزند پی در پی. روش آقا حسین می شود، ولی روش درستی نیست. در روش دوم که از اکتیو ایکس وی بی6 استفاده کنیم، تصویر نمی توانیم به درختواره خود اضافه کنیم. یعنی در وی بی 6 می توانستیم، ولی کد ان در .net کار نمی کند.

لطفاً با کد ساده توضیح دهید.

منصور بزرگمهر
یک شنبه 29 فروردین 1389, 13:16 عصر
خودم جواب را با سرچ در Google و یک ربع تلاش پیدا کردم. (البته بعد از یک شب کار)

یک TreeView بنام TreeView1 بگذارید و کد زیر را اجرا کنید. حال می توانید یک میلیون سطر هم با آن بسازید.





Dim TreeNodeA As New TreeNode


TreeNodeA = Me.TreeView1.Nodes.Add("001", "A")
TreeNodeA = TreeNodeA.Nodes.Add("011", "B")
TreeNodeA = TreeNodeA.Nodes.Add("111", "C")


TreeNodeA = Me.TreeView1.Nodes.Add("002", "D")


TreeNodeA = Me.TreeView1.Nodes.Add("003", "E")
TreeNodeA = TreeNodeA.Nodes.Add("031", "F")
TreeNodeA = TreeNodeA.Nodes.Add("311", "G")