الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن تحويل Tree إلى Combo

بدأه أبورنه في 28 سبتمبر 2008 · 9 رد · 1,119 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته ..

كل عام وأنتم بخير مقدماً ..

لدي شجرة Tree يوجد بها بيانات كثيرة كل ما أريده هو تحويل هذه البيانات إلى Combo

بهذا الشكل يكون الكمبو

____________________________

-الموظفين

---أسماء الموظفين

------محمد

------خالد

---إجازات الموظفين

------الإجازات الاعتيادية

------الإجازات المرضية

- الشؤون المالية .... الخ

____________________________

اتمنى أن يكون سؤالي واضحاً ...

تم تعديل هذه المشاركة بواسطة أبورنه في 28 سبتمبر 2008 في 07:45

#2

السلام عليكم و رحمة الله و بركاتة

لقد حاولت قدر المستطاع فى هذا الموضوع

حيث ان معلوماتى عن الـ tree view control و Node class

محدودة

فقد قمت بكتابة هذا الكود لك

و هو يقوم بتحويل ال tree view items الى combo items

و ذلك من خلال for loop

ارجو ان يفيدك

هذا هو الكود

Dim node1 As Node

Private Sub Command1_Click()
 Dim i, n As Integer
 For i = 0 To TreeView1.Nodes.Count - 1
  n = i + 1
  Combo1.AddItem (TreeView1.Nodes.Item(n).Text), (i)
  Next i
End Sub

Private Sub Form_Load()
Set node1 = TreeView1.Nodes.Add(, , , "Abou rana")
Set node1 = TreeView1.Nodes.Add(, , , "Petro")
Set node1 = TreeView1.Nodes.Add(, , , "Ahmed")
Set node1 = TreeView1.Nodes.Add(, , , "Mamdouh")
End Sub

و ستجد الكود و ال project بالملف المرفق

و شكرا

Tree_to_combo.zip

#3

مشكور أخوي ..

ولكن لم تعمل معي لأنها لم تخبرني بالأقسام الرئيسية والفرعية ..

هل تعرف كود يظهر لي في أي فرع الكلمة يعني مثلاً :

لو أنا ضغطت على كلمة ( محمد ) وهو ضمن قسم الموظفين . يقول لي هو في المستوى الثاني ..

حسب التشجير .

للتوضيح أكثر :

-شؤون الموظفين ( المستوى الأول )

-----محمد ( المستوى الثاني لأنه يتبع لشؤون الموظفين )

----------رواتبه ( المستوى الثالث لأنه يتبع لمحمد )

-المالية ( المستوى الأول )

#4

هل سؤالي صعب لهذه الدرجة !!!؟؟؟؟

:huh: :huh:

#5

هذه صورة لأحد البرامج العربية توضح المعنى من سؤالي :

combotree.jpg

:huh: :huh: :P

#6

الأخ السائل، لو وضحت سؤالك بمثال ليسهل الإجابة عليه نكون شاكرين لك.

كان الله في عون العبد ما كان العبد في عون أخيه

qushisha@yahoo.com

#7

الأخ عاطف قشيشة

ياليتك كتبت أي شيء ما عدا هذه الجملة (الأخ السائل، لو وضحت سؤالك بمثال ليسهل الإجابة عليه نكون شاكرين لك)

سؤالي واضح جداً ..

عندك Tree تريد تحويله إلى Combo ..

ووضعت صورة من زين الطبايع ..

والله السؤال واضح جداً ..

الأخ Petro جزاه الله خير

أرفق مثال ناقص وهو يعلم ذلك وأشكره على تفاعله معي ..

والناقص في المثال أن عملية التحويل لم تكن بنفس الترتيب ...

#8

هل لا يوجد حل برأيكم ...

:angry:

#9

اخى العزيز ابو رنة

لقد قمت بكتابة code يقوم بتحويل الــ Tree

الى combo علما بأن الـtree لها Root nodes

و child nodes

و يقوم بوضع الـ items بالترتيب

اما بخصوص محاذاة الــ child nodes

فسأحاول عملة لك قريبا

قم بتحميل الملف المرفق و ستجدة قريبا لما تريد

و اليك الكود لتطلع علية

'This code programmed by : Petro Safwat
Dim node1 As Node


Private Sub Command1_Click()
 Dim i As Integer
 For i = 1 To TreeView1.Nodes.Count
 ' As the comboBox start counting items[indexing] from 0 and the nodes
 ' of the tree start counting from one.
  Combo1.AddItem (TreeView1.Nodes.Item(i).Text), (i - 1)
  Next i
  Me.Caption = i
End Sub

Private Sub Form_Load()

'Adding Root Node with one child

Set node1 = TreeView1.Nodes.Add(, , "Root", "Root Node")
Set node1 = TreeView1.Nodes.Add("Root", tvwChild, "Child1_1", "Child1")

'Adding another root node with 4 child nodes
Set node1 = TreeView1.Nodes.Add(, , "Root2", "Root Node 2")
Set node1 = TreeView1.Nodes.Add("Root2", tvwChild, "Child2_1", "Petro")
Set node1 = TreeView1.Nodes.Add("Root2", tvwChild, "Child2_2", "Abou rana")
Set node1 = TreeView1.Nodes.Add("Root2", tvwChild, "Child2_3", "Ahmed")
Set node1 = TreeView1.Nodes.Add("Root2", tvwChild, "Child2_4", "Hossam")

End Sub

Tree_to_combo.zip

#10

مشكور أخوي على اهتمامك ..

ولكن المشكلة لم تحل وهي زبدة الموضوع ...

وهي المحاذاة ..

أتمنى حل المشكلة ..

وأنا في انتظارك ...

:lol:

مواضيع مشابهة