تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[VB.NET] نقل البيانات من الكمبو الي التريفيو
#1
السلام عليكم ورحمة الله وبركاتة 

لدي اكتر من كمبو بوكس حوالي 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
الرد }}}
تم الشكر بواسطة:
#2
(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
الرد }}}
تم الشكر بواسطة: احمد 2021 , Ronald
#3
(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
الرد }}}
تم الشكر بواسطة:
#4
بصراحة ما فهمت مقصدك طالما الكود شغال
الرد }}}
تم الشكر بواسطة: احمد 2021
#5
(05-04-21, 01:09 AM)messry كتب : بصراحة ما فهمت مقصدك طالما الكود شغال



يوجد خطاء بسيط بطريقة الكمبو حيث يستعرض العناصر بالفروع بناء علي عدد مرات تكرارها وليس علي اساس المحدد .

بمعني لو انا اخترت اول ايتم بالكمبو يصبح الفروع واحد 
لو اخترت الايتم  رقم 3  بالكمبو الفروع تصبح 3  يعرضهم من اول واحد الي رقم 3 وانا لم احدد غير العنصر 3 بالكمبو هكذا ..
الرد }}}
تم الشكر بواسطة:
#6
بمعنى آخر أنت تريد أن يتم عرض العنصر المشاهد أو المختار فقط من الكومبو
؟؟؟؟؟؟؟؟؟؟
الرد }}}
تم الشكر بواسطة:
#7
(05-04-21, 01:32 AM)messry كتب : بمعنى آخر أنت تريد أن يتم عرض العنصر المشاهد أو المختار فقط من الكومبو
؟؟؟؟؟؟؟؟؟؟

تمام
الرد }}}
تم الشكر بواسطة:
#8
(05-04-21, 01:32 AM)احمد 2021 كتب :
(05-04-21, 01:32 AM)messry كتب : بمعنى آخر أنت تريد أن يتم عرض العنصر المشاهد أو المختار فقط من الكومبو
؟؟؟؟؟؟؟؟؟؟

تمام


أخي الفاضل

استبدل الكود هذا
كود :
      For i As Integer = 0 To ComboBox1.Items.Count - 1
          TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode(ComboBox1.Items(i)))
      Next

بهذا
كود :
 
          TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode(ComboBox1.text))
     


في الجميع
مع مراعاة اسم الكومبو
الرد }}}
تم الشكر بواسطة: احمد 2021 , احمد 2021 , Ronald
#9
(05-04-21, 01:37 AM)messry كتب :
(05-04-21, 01:32 AM)احمد 2021 كتب :
(05-04-21, 01:32 AM)messry كتب : بمعنى آخر أنت تريد أن يتم عرض العنصر المشاهد أو المختار فقط من الكومبو
؟؟؟؟؟؟؟؟؟؟

تمام


أخي الفاضل

استبدل الكود هذا
كود :
      For i As Integer = 0 To ComboBox1.Items.Count - 1
          TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode(ComboBox1.Items(i)))
      Next

بهذا
كود :
 
          TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode(ComboBox1.text))
     


في الجميع
مع مراعاة اسم الكومبو



دة مثال في الكمبو والطريقة الخاص بك والكمبو والطريقة الي صممتها والخطاء لازال موجود تقدر تراجعة بالفيجول بيسك 2019

اختار اكتر من كمبو وايتم محدد  وشوف النتيجة بالتريفيو وارجع عيد الاختيار هيظهر الخطاء في تكرار البيانات 


.rar   WindowsApp3.rar (الحجم : 47.82 ك ب / التحميلات : 5)
.rar   WindowsApp3.rar (الحجم : 47.82 ك ب / التحميلات : 5)
الرد }}}
تم الشكر بواسطة:
#10
السلام عليكم
من نظرة سريعة جربها وعطني خبر

اسمح لي باستبدال الجزء هذا

كود :
   Public Sub trevfil()
       TreeView1.BeginUpdate()
       TreeView1.Nodes.Clear()
       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 Com_a.Items.Count - 1
           TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode(Com_a.Text))
       Next

       For i As Integer = 0 To Com_b.Items.Count - 1
           TreeView1.Nodes(0).Nodes(1).Nodes.Add(New TreeNode(Com_b.Text))
       Next

       For i As Integer = 0 To Com_c.Items.Count - 1
           TreeView1.Nodes(0).Nodes(2).Nodes.Add(New TreeNode(Com_c.Text))
       Next

       For i As Integer = 0 To Com_d.Items.Count - 1
           TreeView1.Nodes(0).Nodes(3).Nodes.Add(New TreeNode(Com_d.Text))
       Next

       For i As Integer = 0 To Com_e.Items.Count - 1
           TreeView1.Nodes(0).Nodes(4).Nodes.Add(New TreeNode(Com_e.Text))
       Next
       TreeView1.EndUpdate()
   End Sub


بهذا
كود :
   Public Sub trevfil()
       TreeView1.BeginUpdate()
       TreeView1.Nodes.Clear()
       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"))



           TreeView1.Nodes(0).Nodes(0).Nodes.Add(New TreeNode(Com_a.Text))
           TreeView1.Nodes(0).Nodes(1).Nodes.Add(New TreeNode(Com_b.Text))
           TreeView1.Nodes(0).Nodes(2).Nodes.Add(New TreeNode(Com_c.Text))
           TreeView1.Nodes(0).Nodes(3).Nodes.Add(New TreeNode(Com_d.Text))
           TreeView1.Nodes(0).Nodes(4).Nodes.Add(New TreeNode(Com_e.Text))

       TreeView1.EndUpdate()
   End Sub
الرد }}}
تم الشكر بواسطة: Ronald


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 168 25-02-24, 06:29 AM
آخر رد: loay775
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 260 11-02-24, 08:43 PM
آخر رد: assuhimi
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 266 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 281 18-01-24, 05:04 PM
آخر رد: loay775
  [VB.NET] إعادة استدعاء البيانات من قاعدة بيانات اكسس والاهم الصورة مبرمج صغير 1 1 282 13-01-24, 01:17 PM
آخر رد: مبرمج صغير 1
  [كود] اريد كود إرسال البيانات من الفيجوال بيسك إلىPDF issamsaidd 10 5,864 25-12-23, 06:30 PM
آخر رد: الحزين اليماني
  جملة الاتصال بقاعدة البيانات اكسس محمد خيري 4 372 12-12-23, 03:14 AM
آخر رد: محمد خيري
  كود الاتصال بقاعدة البيانات sqlserver strongriseman 2 424 29-11-23, 09:25 PM
آخر رد: العتيق
Heart [VB.NET] كيفية جعل الدتاجريديد فيو تظهر عندما تكون قاعدة البيانات فارغه الحزين اليماني 1 375 22-11-23, 05:31 PM
آخر رد: justforit
  الحفاظ على خصائص قاعدة البيانات عند النقل strongriseman 0 283 19-11-23, 12:28 PM
آخر رد: strongriseman

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم