PDA

View Full Version : مشکل با TreeView



Snoopboy
جمعه 27 اسفند 1389, 16:02 عصر
با سلام و خسته نباشید.
که کد نوشتم برای انتقال ایتم از Treeview به لیست باکس. ولی یه مشگلی هست . و اون اینه که زیر مجموعه های Nod اول رو فقط برام انتقال میده و وقتی زیر مجموعه های nod های بعدی رو انتخاب می کنم انتقال نمیده . می خوام هر چند تا nod بود و زیر مجموعه همه رو انتقال بدم . سورس می زارم ببینید . و اشکال رو اطفا بهم بگید
ممنون67659

ali190
جمعه 27 اسفند 1389, 17:22 عصر
سلام
پشت دکمه transfer کد زیر رو بنویس:

Me.List1.AddItem Me.TV1.SelectedItem.Text
یاعلی

Snoopboy
جمعه 27 اسفند 1389, 17:33 عصر
نمیشه داداش . این کد شما فقط عنوان Nod آول رو می فرسته من می خوام تمام زیر مجموعه هارو بفرسته برام

ali190
جمعه 27 اسفند 1389, 20:32 عصر
سلام
گرفتم چی میخوای
ابتدا این function رو به برنامه ات اضافه کن (در فضای کدنویسی فرم اصلیت)

Private Sub selectChildren(Node As Node)
Dim i As Integer, nodX As Node
Set nodX = Node.Child 'Catch first child
For i = 1 To Node.Children 'Loop through each child
'nodX.Checked = Node.Checked 'Set as checked
Me.List1.AddItem nodX.Text
selectChildren nodX 'Check to see if this node has children
Set nodX = nodX.Next 'Catch next child
Next 'Loop
End Sub

حالا پشت دکمه transfer ات کد زیر رو بنویس:

selectChildren Me.TV1.SelectedItem
یاعلی

Snoopboy
جمعه 27 اسفند 1389, 22:54 عصر
بهتر شد ولی اینطوری باید بهش بگم کدوم زیر شاخه رو می خوام. مثلا الان خودم Node ساختم و خواستم Transfer کنم . خودش Node که من قبلا روش کلیک کردم رو انتقال میده. می خوام مثلا 5 تا children از node اول و مثلا 3 تا children از node دوم رو انتخاب کنم و انتقال بدم

ali190
شنبه 28 اسفند 1389, 00:01 صبح
سلام
متوجه منظورتون نشدم
یعنی میخوای با تیک زدن عملیا تtransfer رو انجام بدی؟

Snoopboy
شنبه 28 اسفند 1389, 00:05 صبح
آره دیگه با تیک زدن زیر مجموعه ها عملیات انتقال رو انجام بدم .

ali190
شنبه 28 اسفند 1389, 00:21 صبح
خب تو نمونه اولت هم با تیک زدن هر گره ، به listbox منتقل میشد

Snoopboy
شنبه 28 اسفند 1389, 00:38 صبح
67669

میدونم ولی تمام ایتم های Parent item به لیست یک انتقال پیدا می کنه . می خوام که تمام زیر Child ها از زیر شاخه ها انتقال پیدا کنن. مثلا 2 ایتم از Parent item
و Item 2 , Item 3 از Parent Item2 به لیست باکس انتقال پیدا کنه

Snoopboy
یک شنبه 29 اسفند 1389, 15:09 عصر
دوستان اگه ممکنه کمک کنن. من می خوام با تیک زدن هر chlid در هر زیر شاخه ای که بود . انتقال پیدا کنه

ali190
یک شنبه 29 اسفند 1389, 16:41 عصر
سلام
کد زیر رو پشت دکمه Transfer ات بذار

Dim i As Integer
List1.Clear
For i = 1 To TV1.Nodes.Count
If TV1.Nodes.Item(i).Checked Then
List1.AddItem TV1.Nodes.Item(i).Text
End If
Next i
یاعلی