تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
[سؤال] عن الاداء TreeView1
#1
السلام عليكم عندى TreeView1 فيها مشكلة وهى عندها عرض اسماء الدول وعصمتها بيتم تكرار اسم العاصمها و دى اول مشكلة 
   
تانى حاجة عندى ملف جوه صورة باسم كل دولة اريد ان يتم اظهار صورة بجانب اسم الدولة وفقط
وهذا هو الكود المستخدام
كود :
Dim cn As New OleDb.OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\Soka\documents\visual studio 2010\Projects\Spicy Messenger !\Spicy Messenger !\ArEnLang.accdb;Persist Security Info=True")

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       If cn.State = ConnectionState.Open Then cn.Close()
       cn.Open()
       Dim StrSQL As String = "Select * From countriesnames ORDER BY countriesnamesAR"
       Dim daa As New OleDb.OleDbDataAdapter(StrSQL, cn)
       Dim GetTable As New DataTable
       GetTable = ExcSqlDT(StrSQL)
       daa.Fill(GetTable)
       TreeView1.Nodes.Clear()
       Dim dict As New Dictionary(Of String, List(Of String))()
       For Each row As Data.DataRow In GetTable.Rows
           Dim ParentRow As String = DirectCast(row.Item(1), String)
           Dim ChildRow As String = DirectCast(row.Item(5), String)
           If ParentRow Is Nothing OrElse ChildRow Is Nothing Then
               Continue For
           End If
           If dict.ContainsKey(ParentRow) Then
               dict(ParentRow).Add(ChildRow)
           Else
               dict.Add(ParentRow, New List(Of String)())
               dict(ParentRow).Add(ChildRow)
           End If
       Next
       Dim node As TreeNode
       For Each kvp In dict
           node = New TreeNode(kvp.Key)
           TreeView1.Nodes.Add(node)
           For Each chiled As String In kvp.Value
               node.Nodes.Add(chiled)
           Next
       Next

       cn.Close()
   End Sub
   Function ExcSqlDT(ByVal SqlStr As String) As DataTable
       Dim da As New OleDb.OleDbDataAdapter(SqlStr, cn)
       Dim dtt As New DataTable
       dtt.Clear()
       da.Fill(dtt)
       Return dtt
   End Function
End Class
تم حل المشكلة عن طريق حذف
كود :
dict(ParentRow).Add(ChildRow)
هل انا صح ام خطاء

سؤال اخر و هو اظهار صورة بجانب اسم كل دولة
للعلم يوجد فلولدر كامل يحتوى على صورة كل دولة باسمها كيفية اضافة هذا
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة: أشرف كريم 2
#2
تفضل اخي الكريم

كود :
   Dim cn As String = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=ArEnLang.accdb;Persist Security Info=True"

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       Dim StrSQL As String = "Select Id, CountriesNamesAR, FlagSmall, CapitalAr From countriesnames ORDER BY countriesnamesAR"
       Dim dt As DataTable = GetDataTable(StrSQL)
       TreeView1.Nodes.Clear()


       For Each r As DataRow In dt.Rows
           Dim I As New TreeNode()
           I.Text = r("CountriesNamesAR")
           I.ImageKey = r("Id")
           ImageList1.Images.Add(r("Id"), ImgFromByte(r("FlagSmall")))
           I.Nodes.Add(New TreeNode(TryCast(r("CapitalAr"), String)))
           TreeView1.Nodes.Add(I)
       Next

   End Sub
   Function ImgFromByte(img As Byte()) As Bitmap
       Using ms As New MemoryStream(img)
           Return New Bitmap(ms)
       End Using
   End Function

   Function GetDataTable(query As String) As DataTable
       Dim dt As New DataTable
       Using conn As New OleDbConnection(cn)
           Using cmd As New OleDbCommand(query, conn)
               Using da As New OleDbDataAdapter(cmd)
                   da.Fill(dt)
               End Using
           End Using
       End Using
       Return dt
   End Function
الرد }}}
تم الشكر بواسطة: alims , أشرف كريم 2 , غدير الصليحي
#3
شكرا ليك اخى العزيز 

عندى سؤال استخدام هذا الكود و هو يعم بنجاح ولكن فى حالة التحديث كل دقيقة يتم عمل يحدث للاداء بطريق اخفاء العناصر و اظهارها مره اخرى
اريد اقفها بمعنى ايدر ان يتم تحديث الاداء و ضافة الجديد و حذف القديم ولكن بدون رفريش الاداء ؟ 
ودى صوره كل ما حاول اعمل تحديد لاى عناصر بيتم الغاء التحديد
اريد ان يتم التحديث اضافة الجديد و مسح البيانات القديمة بندو هذى المشكلة


   

كود :
Private Sub BackgroundWorker2_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker2.DoWork
       Dim con As New System.Data.SqlClient.SqlConnection("Data Source=DESKTOP-SNS2QF4;Initial Catalog=SpicyMessenger;Integrated Security=True")
       If con.State = ConnectionState.Open Then con.Close()
       con.Open()
       Dim cmd As New SqlCommand("SELECT publicroom.id,publicroom.nameroom,useraddnew.id,useraddnew.surnameandname,useraddnew.img FROM publicroom INNER JOIN useraddnew ON useraddnew.id = publicroom.id WHERE publicroom.nameroom =('" & Me.Label1.Text.ToString & "')", con)
       Dim da As SqlDataReader = cmd.ExecuteReader
       Me.ListView1.Items.Clear()
       Form1.ListView1.Columns.Add("surnameandname")
       Form1.ListView1.GridLines = True
       Do While da.Read = True
           Dim friendid As Integer = da("id")
           Dim friendimg As Byte() = da("img")
           Dim namefriend As String = da("surnameandname")
           ImageList1.Images.Add(friendid.ToString, ImgFromByte(friendimg))
           Dim i As New ListViewItem(namefriend, friendid.ToString)
           ImageList1.Images.Add(friendid.ToString, ImgFromByte(friendimg))
           i.SubItems.Add(friendid)
           ListView1.Items.Add(i)
       Loop
       If con.State = ConnectionState.Open Then con.Close()
   End Sub

   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
       BackgroundWorker2.RunWorkerAsync()
   End Sub
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة:
#4
يارب......
قال تعالى : يَامَعْشَرَ الْجِنِّ وَالإِنسِ إِنْ اسْتَطَعْتُمْ أَنْ تَنفُذُوا مِنْ أَقْطَارِ السَّمَاوَاتِ وَالأَرْضِ فَانفُذُوا لا تَنفُذُونَ إِلاّ بِسُلْطَانٍ
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] مشكلة اضافة نص و صورة ادخل الاداء RichTextBox alims 10 2,828 24-11-21, 02:01 PM
آخر رد: alims
  اريد كود عند الضغط علي TreeView1.CheckBoxes تظهر رسالة ؟ DanyGhost2010 2 1,780 29-12-17, 03:27 PM
آخر رد: DanyGhost2010

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


يقوم بقرائة الموضوع: