(04-04-21, 11:21 PM)messry كتب :(04-04-21, 07:57 PM)احمد 2021 كتب : السلام عليكم ورحمة الله وبركاتة
لدي اكتر من كمبو بوكس حوالي 5 كمبو كل كمبو بة اكتر من عنصر بداخلة والبعض قد يكون فارغ لايوجد بية عناصر او بية عناصر
1- المطلوب ما اريدة هوا نقل اسم الكمبو الي التريفيو كأب والعناصر بداخلة كابناء العناصراو الايتم غير محددة.
اذا كان الكمبو فارغ بمعني احد الكمبو الخمس او تنين وا هكذا فارغ يتم تجاهلة.
واذاكان بية بيانات يتم نقلة للتريفيو حسب وضع الكمبو من الاول للاخر بمعني اول كمبو ياخذ اول اب والثاني ثاني اب والثالث ثالث اب والعناصر بنفس الترتيب
محاولتي والنتيجة سيئة جدا
كود :
Public Sub TREEVIEWFILL()
TreeView1.Nodes.Clear()
If Com_A.SelectedIndex > -1 Then
TreeView1.Nodes.Add(Com_A.Text, Com_A.Text)
For i = 0 To Com_A.Items.Count - 1
TreeView1.Nodes.Add(Com_A.Text, Com_A.Items(i).ToString)
Next
End If
If Com_B.SelectedIndex > -1 Then
TreeView1.Nodes(Com_A.Text).Nodes.Add(Com_B.Text, Com_B.Text)
For i = 0 To Com_B.Items.Count - 1
TreeView1.Nodes(Com_A.Text).Nodes.Add(Com_B.Text, Com_B.Items(i).ToString)
Next
End If
If Com_C.SelectedIndex > -1 Then
TreeView1.Nodes(Com_A.Text).Nodes(Com_B.Text).Nodes.Add(Com_C.Text, Com_C.Text)
For i = 0 To Com_C.Items.Count - 1
TreeView1.Nodes(Com_A.Text).Nodes(Com_B.Text).Nodes.Add(Com_C.Text, Com_C.Items(i).ToString)
Next
End If
End Sub
السلام عليكم
تفضل يا أخي
حط الكود التالي في اي زر امر
كود :
Dim TreeView1 As TreeView
TreeView1 = New TreeView()
TreeView1.Location = New Point(10, 10)
TreeView1.Size = New Size(150, 150)
Me.Controls.Add(TreeView1)
TreeView1.Nodes.Clear()
'Creating the root node
Dim root = New TreeNode("Application")
TreeView1.Nodes.Add(root)
TreeView1.Nodes(0).Nodes.Add(New TreeNode("ComboBox1"))
TreeView1.Nodes(0).Nodes.Add(New TreeNode("ComboBox2"))
TreeView1.Nodes(0).Nodes.Add(New TreeNode("ComboBox3"))
TreeView1.Nodes(0).Nodes.Add(New TreeNode("ComboBox4"))
TreeView1.Nodes(0).Nodes.Add(New TreeNode("ComboBox5"))
For i As Integer = 0 To ComboBox1.Items.Count - 1
TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode(ComboBox1.Items(i)))
Next
For i As Integer = 0 To ComboBox1.Items.Count - 1
TreeView1.Nodes(0).Nodes(1).Nodes.Add(New TreeNode(ComboBox2.Items(i)))
Next
For i As Integer = 0 To ComboBox1.Items.Count - 1
TreeView1.Nodes(0).Nodes(2).Nodes.Add(New TreeNode(ComboBox3.Items(i)))
Next
For i As Integer = 0 To ComboBox1.Items.Count - 1
TreeView1.Nodes(0).Nodes(3).Nodes.Add(New TreeNode(ComboBox4.Items(i)))
Next
For i As Integer = 0 To ComboBox1.Items.Count - 1
TreeView1.Nodes(0).Nodes(4).Nodes.Add(New TreeNode(ComboBox5.Items(i)))
Next
اشكر حضرتك علي الرد
انا استخدمت الطريقة واشتغل الكود ..
ولكن عند استخدام عنصر اخر بالكمبو بوكس يظل الفروع القديمة محفوظة علي الرغم من مسح كل البيانات بالاداة الاب والفروع لما تظل الفروع محفوظة
كود :
Public Sub TREEVIEWFILL()
Dim cboxes = {Com_a, Com_b, Com_c, Com_d, Com_e, Com_f, Com_g, Com_h}
TreeView1.BeginUpdate()
TreeView1.Nodes.Clear()
Dim selectv As String = ""
Dim child As String = ""
Dim subchild As String = ""
For Each cmb In cboxes
If cmb.Items.Count > 0 AndAlso cmb.SelectedIndex > -1 Then
Dim parent As New TreeNode(cmb.Name.ToString.Remove(0, cmb.Name.ToString.IndexOf("_")).Replace("_", ""))
'parent.Nodes(child).Nodes.Clear()
For i = 0 To cmb.SelectedIndex
child = cmb.Items(i).ToString
parent.Nodes.Add(child, child)
Next
TreeView1.Nodes.Add(parent)
End If
Next
TreeView1.EndUpdate()
End Sub