منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تنقيص قيمة عدد من Listview من Colums
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3 4
هل من حل :confused:؟
just.coder كتب :جرب حب حط الكود دا ف حدث موس دبل كليك ف لست فيو

كود :
On Error Resume Next
        For i As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.Items.Item(i).Selected = True Then
                Dim int As Integer = ListView1.Items.Item(i).SubItems(3).Text
                Dim upd As Integer = int - 100
                ListView1.Items.Item(i).SubItems(3).Text = upd
                '\\\\\\\\\\
                Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=@ID", Conn)


                cm.Parameters.AddWithValue("@Rest", SqlDbType.VarChar).Value = ListView1.Items.Item(i).SubItems(3).Text

                If Conn.State = ConnectionState.Closed Then
                    Conn.Open()
                End If
                cm.ExecuteNonQuery()
                cm.Parameters.Clear()
                '//////////
            End If
        Next

عندي ملاحظة في هذا الكود

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=@ID"Conn

في كلمة where تجي بعدها الشرط ID=@ID كيف وضعت ID في بارومتر ؟!
أستبدل @ID بـ رقم ID حق الحقل المراد التعديل فيه
يعني مثلا رقم ID موجود في ListView1.Items.Item(i).SubItems(0).Text إي أن حقل ID يعرض في ListView1 في العمود الأول

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

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=@ID"Conn

إلى

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=" ListView1.Items.Item(i).SubItems(0).TextConn

جرب وعطنا خبر
Easy 4ever كتب :عندي ملاحظة في هذا الكود

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=@ID"Conn

في كلمة where تجي بعدها الشرط ID=@ID كيف وضعت ID في بارومتر ؟!
أستبدل @ID بـ رقم ID حق الحقل المراد التعديل فيه
يعني مثلا رقم ID موجود في ListView1.Items.Item(i).SubItems(0).Text إي أن حقل ID يعرض في ListView1 في العمود الأول

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

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=@ID"Conn

إلى

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=" ListView1.Items.Item(i).SubItems(0).TextConn

جرب وعطنا خبر


[COLOR="#FF0000"]
هذا الكود بعدما عدلت ما قلته ،، لكن لم يتم حفظ التعديل
كود :
On Error Resume Next
        For i As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.Items.Item(i).Selected = True Then
                Dim int As Integer = ListView1.Items.Item(i).SubItems(6).Text
                Dim upd As Integer = int - (TextBox92.Text)
                ListView1.Items.Item(i).SubItems(6).Text = upd
                '\\\\\\\\\\
                Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=" & ListView1.Items.Item(i).SubItems(6).Text, Conn)


                cm.Parameters.AddWithValue("@Rest", SqlDbType.VarChar).Value = ListView1.Items.Item(i).SubItems(6).Text

                If Conn.State = ConnectionState.Closed Then
                    Conn.Open()
                End If
                cm.ExecuteNonQuery()
                cm.Parameters.Clear()
                '//////////
            End If
        Next
[/COLOR]
shado1796 كتب :
هذا الكود بعدما عدلت ما قلته ،، لكن لم يتم حفظ التعديل
كود :
On Error Resume Next
        For i As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.Items.Item(i).Selected = True Then
                Dim int As Integer = ListView1.Items.Item(i).SubItems(6).Text
                Dim upd As Integer = int - (TextBox92.Text)
                ListView1.Items.Item(i).SubItems(6).Text = upd
                '\\\\\\\\\\
                Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=" & ListView1.Items.Item(i).SubItems(6).Text, Conn)


                cm.Parameters.AddWithValue("@Rest", SqlDbType.VarChar).Value = ListView1.Items.Item(i).SubItems(6).Text

                If Conn.State = ConnectionState.Closed Then
                    Conn.Open()
                End If
                cm.ExecuteNonQuery()
                cm.Parameters.Clear()
                '//////////
            End If
        Next

الكود كله أحس ان تركيبه خطأ :confused:

أولا
أنت عدلت إللي قلته لك
وعدلت إيضا هذا الكود

PHP كود :
cm.Parameters.AddWithValue("@Rest"SqlDbType.VarChar).Value ListView1.Items.Item(i).SubItems(6).Text 

خليته ياخذ القيمة من العمود السابع ؟ والعمود السابع خاص بالـ ID حسب فهمي لهذا الكود

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=" ListView1.Items.Item(i).SubItems(6).TextConn

ثانيا
ما المقصود من هذا الكود

PHP كود :
Dim upd As Integer int - (TextBox92.Text

ياليت يتم شرح سطر سطر لهذا الكود وما الغرض منه
حتى أتمكن من إفادتك لأني الأن أشوف الكود كله داخل في بعض ومتضارب في القيم
انا حملت الأن المثال الموجود في أول مشاركه لك وسأقوم برأيته وتعني فيه

حتى أتمكن من فهم الكود وحل المشكله

أنتظر ..
أنظر المرفق
عدلت المثال إللي حاطه في المشاركة الأولى

في البداية أحب ان أوضح لك أني لم أجد حقل رقمي لكي أتعامل معه بالخصم سوى الحقل MobileNumber فستغليته

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

المهم انت حمل المثال واستخدم قاعدة البيانات إللي معك إللي أرفقته لنا في مشاركتك الأولى

ضفت لك زر آخر يعمل على زيادة القيمة بدل من الخصم حتى تتمكن من التجربه

الكود جربته بعد ما عدلته وشغال 100%
Easy 4ever كتب :الكود كله أحس ان تركيبه خطأ :confused:

أولا
أنت عدلت إللي قلته لك
وعدلت إيضا هذا الكود

PHP كود :
cm.Parameters.AddWithValue("@Rest"SqlDbType.VarChar).Value ListView1.Items.Item(i).SubItems(6).Text 

خليته ياخذ القيمة من العمود السابع ؟ والعمود السابع خاص بالـ ID حسب فهمي لهذا الكود

PHP كود :
Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=" ListView1.Items.Item(i).SubItems(6).TextConn

ثانيا
ما المقصود من هذا الكود

PHP كود :
Dim upd As Integer int - (TextBox92.Text

ياليت يتم شرح سطر سطر لهذا الكود وما الغرض منه
حتى أتمكن من إفادتك لأني الأن أشوف الكود كله داخل في بعض ومتضارب في القيم

اخي غلط في كتابت الكود في المشاركة بل هو كذا

كود :
On Error Resume Next
        For i As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.Items.Item(i).Selected = True Then
                Dim int As Integer = ListView1.Items.Item(i).SubItems(6).Text
                Dim upd As Integer = int - (TextBox92.Text)
                ListView1.Items.Item(i).SubItems(6).Text = upd
                '\\\\\\\\\\
                Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=@ID", Conn)


                cm.Parameters.AddWithValue("@Rest", SqlDbType.VarChar).Value = ListView1.Items.Item(i).SubItems(0).Text

                If Conn.State = ConnectionState.Closed Then
                    Conn.Open()
                End If
                cm.ExecuteNonQuery()
                cm.Parameters.Clear()
                '//////////
            End If
        Next
ياخذ ال ID من العامود الاول 0 وطبعا ما انحلت المشكلة


ثانيا ما اقصده بالكود

كود :
Dim upd As Integer = int - (TextBox92.Text)

هو ان يخصم الرقم الموجود في TextBox92.Text من الليست فيو مثلا في SubItems(6)

تركيبة السؤال خطأ اساسا وطريقة التعديل بعد فيه أخطأ

أنظر للمثال إللي قمت بتعديله وقارنه بالموجود لديك
Easy 4ever كتب :تركيبة السؤال خطأ اساسا وطريقة التعديل بعد فيه أخطأ

أنظر للمثال إللي قمت بتعديله وقارنه بالموجود لديك

جاري التجربة ،،
Easy 4ever كتب :تركيبة السؤال خطأ اساسا وطريقة التعديل بعد فيه أخطأ

أنظر للمثال إللي قمت بتعديله وقارنه بالموجود لديك

ماشاء الله تبارك الله عليك ،،
انا حاولت اسويها تعبت وانت حليتها ،،،
انحلت المشكلة الله يوفقك يا رب
استخدمت هذا الكود من مثالك

كود :
On Error Resume Next
        For i As Integer = 0 To ListView1.Items.Count - 1
            If ListView1.Items.Item(i).SubItems(0).Text = TextBox93.Text Then
                ListView1.Items.Item(i).SubItems(6).Text = Val(ListView1.Items.Item(i).SubItems(6).Text) [color=#FF0000]- [/color]Val(TextBox92.Text)

                Dim cm As New SqlCommand("update table1 set Rest=@Rest where ID=" & TextBox93.Text, Conn)
                cm.Parameters.AddWithValue("@Rest", SqlDbType.VarChar).Value = ListView1.Items.Item(i).SubItems(6).Text
                If Conn.State = ConnectionState.Closed Then
                    Conn.Open()
                End If
                cm.ExecuteNonQuery()
                cm.Parameters.Clear()
                '//////////
                Me.RefreshListView()
                Exit Sub
            End If
Next

وطبعا الجمع يتغير من علامة الاشارة الملونه بالاحمر
الصفحات : 1 2 3 4