تقييم الموضوع :
  • 0 أصوات - بمعدل 0
  • 1
  • 2
  • 3
  • 4
  • 5
اريد نقل بيانات من listview الي اخري
#1
عندي 2 listview اريد نقل بيانات من الاولي الي الثانية

1 listview الاولي بالفورم الاول
2 listview الثانية بالفورم الثاني

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

اريد حفظ القيمة بعد الاضافة في اليست فيو الفورم 2
الرد }}}}
تم الشكر بواسطة:
#2
لنقل محتويات الليست فيو

كود :
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            For i As Integer = 0 To ListView1.Items.Count - 1
                Dim bol As Boolean = True
                For t As Integer = 0 To Form2.ListView1.Items.Count - 1
                    If Form2.ListView1.Items.Item(t).Text = ListView1.Items.Item(i).Text Then
                        bol = False
                    End If
                Next
                If bol = True Then
                    Dim itm As New ListViewItem
                    itm.Text = ListView1.Items.Item(i).Text
                    Form2.ListView1.Items.Add(itm)
                End If
            Next
            MsgBox("تم النقل", MsgBoxStyle.Information)
        Catch ex As Exception

        End Try
      
    End Sub
الرد }}}}
تم الشكر بواسطة:
#3
مشكور جدا اخي بس المشكلة في عدم الحفظ اريد طريقة للحفظ بدون ملف نصي خارجي
المشكلة انقل 2 عمود وليس واحد فقط واريد الحفظ في ماي سيتنج my setting

اكوادك رائعة وهي تنقل بدون تكرار وهذا جزء من سؤالي
ولكن مشكلة الحفظ my setting
الرد }}}}
تم الشكر بواسطة:
#4
للنقل بدون تكرار
كود الاستاذ just.coder صحيح 100%
واذا كنت تريد نقل اكثر من عامود
نفس الكود مع ذياده بسيطه
PHP كود :
Try
            For 
As Integer 0 To ListView1.Items.Count 1
                Dim bol 
As Boolean True
                
For As Integer 0 To Form2.ListView1.Items.Count 1
                    
If Form2.ListView1.Items(t).SubItems(1).Text ListView1.Items(i).SubItems(1).Text Then
                        bol 
False
                    End 
If
                
Next
                
If bol True Then
                    Dim itm 
As New ListViewItem
                    itm
.Text Form2.ListView1.Items.Count 1
                    itm
.SubItems.Add(ListView1.Items(i).SubItems(1))
                    
itm.SubItems.Add(ListView1.Items(i).SubItems(2))
                    
itm.SubItems.Add(ListView1.Items(i).SubItems(3))
                    
Form2.ListView1.Items.Add(itm)
                
End If
            
Next
            MsgBox
("تم النقل"MsgBoxStyle.Information)
        Catch 
ex As Exception

        End 
Try 

للحفظ فى ال setting

اولا اذهب الى My Project > Settings
فى خانة ال Name اكتب Itemss
وفى خانة ال Type اختار system.collections.specialized.stringcollection

ثم اذهب الى صفحة تحرير الكود تبع الفورم وفى اعلى الصفحه اكتب هذا الكود

PHP كود :
Imports System.Collections.Specialized 

دلوقتى اختار اى حدث تريده و اكتب هذا الكود للحفظ فى ال Settings

للحفظ

PHP كود :
My.Settings.Itemss = New StringCollection()

        
Dim items = New List(Of String)()

        For 
Each item As ListViewItem In Me.ListView1.Items
            Dim subitems 
= New List(Of String)()

            For 
Each subitem As ListViewItem.ListViewSubItem In item.SubItems
                subitems
.Add(subitem.Text)
            
Next

            items
.Add(String.Join("|"subitems))
        
Next

        My
.Settings.Itemss.AddRange(items.ToArray())
        
My.Settings.Save() 

ثم اختار اى حدث تريده لتعبئة الليست فيو بالبيانات المحفوظه فى ال Settings

PHP كود :
Dim items = New ListViewItem(My.Settings.Itemss.Count 1) {}

        
Dim i As Integer 0
        
While items.Length
            items
(i) = New ListViewItem(My.Settings.Itemss(i).Split("|"c))
            
+= 1
        End 
While

        
Me.ListView1.Items.AddRange(items

وهذا لمسح البيانات المحفوظه فى ال Settings

PHP كود :
My.Settings.Itemss.Clear() 


وهذا الكود يمكن ان تحتاجه

لمسح البيانات المتشابهه Remove Duplicates فى اى ليست فيو

PHP كود :
Public Sub RemoveDuplicates()
        
Dim item1 As ListViewItem
        Dim item2 
As ListViewItem
        
For As Integer ListView1.Items.Count 1 To 0 Step -1
            item1 
ListView1.Items(i)
            For 
As Integer 1 To ListView1.Items.Count 1 Step 1

                item2 
ListView1.Items(s)

                If 
item1.SubItems(1).Text item2.SubItems(1).Text Then
                    ListView1
.Items.Remove(item2)
                    Exit For
                
End If
            
Next s
        Next 
(i)
    
End Sub 
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}}
تم الشكر بواسطة:
#5
قمة في الروعة الاكواد اخي وفعلا نقلت بيانات محددة والكواد duplicat شغال
بس المشكلة في الحفظ الاكواد دية بتظهر خط متعرج subitems

items.Add(String.Join("|", subitems))

error message

value of type system .collection gneric.list of(string)cannot conferted to 1-dimenosial array of string
وانا عايز الاكواد كاملة في حدث زر للحفظ لو اضفت صورة الي العناصر من الجهاز هتتحفظ بنفس الاكواد
الرد }}}}
تم الشكر بواسطة:
#6
اخى الكريم
يمكنك وضع .ToArray
لتصبح subitems.ToArray

اما بالنسبه للصور
يمكنك وضع iamgelist والتعامل معها
و يمكنك الاسفاده من هذا الرابط
http://msdn.microsoft.com/en-us/library/...elist.aspx

بالتوفيق ان شاء الله
"الناس نيام فإذا ماتوا إنتبهوا"
الرد }}}}
تم الشكر بواسطة:
#7
طيب كدة المشكلة لني كود الحفظ ايضا لوتم الاضافة اكثر من مرة يضيف يعني يكرر ارجو تعديلة لكل لايكرر عملية الحفظ

يعني لو انا عندي 3 عناصر واتحفظو لو ضغط علي الزر كل مرة ينزل بيانات جديدة

Dim items = New ListViewItem(My.Settings.Itemss.Count - 1) {}

Dim i As Integer = 0
While i < items.Length
items(i) = New ListViewItem(My.Settings.Itemss(i).Split("|"c))
i += 1
End While

Me.ListView1.Items.AddRange(items)

ثانيا هل يمكن دمج هذا الكو والكود السابق لة في نفس الاداة الزر بحيث بدلمن الضغظ علي زر للحفظ وزر للاسترجاع يبقي زر واحد فقط
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  [سؤال] كيف اجعل البرنامج يحفظ بيانات؟ The Light Fire 6 79 منذ 16 دقيقة مضت
آخر رد: amgad525
  انشاء قاعدة بيانات بإمتداد خاص بك thevirus 3 70 منذ 54 دقيقة مضت
آخر رد: tryold
  طلب شرح ListView CLARO 2 56 منذ 1 ساعه مضت
آخر رد: amgad525
  [VB.NET] استدعاء بيانات من الاكسس لل vb.net مهند الموسوي 1 66 02-12-16, 03:14 PM
آخر رد: مهند الموسوي
  [سؤال] مشاركة برنامج متصل بقاعدة بيانات sql على شبكه محلية mohammedbassim 3 81 24-11-16, 11:40 PM
آخر رد: mohammedbassim
  ربط قاعدة بيانات اكسس 2010 مع فيجوال 2012 diab4diab 2 87 15-11-16, 10:24 PM
آخر رد: thevirus
  هل يمكن ان تتصل بقاعدة بيانات SQL من دون سيرفر اي اتصال مباشر مثل Access thevirus 4 110 09-11-16, 07:10 PM
آخر رد: thevirus
  [VB.NET] كيفية تحميل صورة من قاعدة بيانات اكسس 2010 نوريس 2 105 09-11-16, 12:32 PM
آخر رد: نوريس
  اريد post لي جهاز ubnt .... خبراء sharo.azad 1 59 05-11-16, 06:58 PM
آخر رد: sharo.azad
  [VB.NET] اريد إضافة صورة للموظف في جدول أخر بنفس قاعدة البيانات أبووسم 8 267 05-11-16, 12:00 PM
آخر رد: Adrees

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


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