منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
[VB.NET] تعديل على القيمة المختارة في ListBox - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : [VB.NET] تعديل على القيمة المختارة في ListBox (/showthread.php?tid=34391)

الصفحات: 1 2


تعديل على القيمة المختارة في ListBox - محمد العامر - 20-04-20

السلام عليكم ورحمة الله وبركاته
أتمنى ان تكونوا جميعا بصحة وعافية
لدي قائمة ListBox وأريد أن أختار قيمه منها يتم عرضها في TextBox وتعديل القيمه وإعادة تحديثها في ListBox.
أرجوا المساعدة


RE: تعديل على القيمة المختارة في ListBox - ابراهيم ايبو - 20-04-20

السلام عليكم ورحمة الله وبركاته
تفضل الكود مشروح
كود :
 Dim kk As Integer = 0 ' تعريف متغير رقمي ليحمل رقم الاندكس للعنصر

   Private Sub ListBox1_Click(sender As Object, e As EventArgs) Handles ListBox1.Click
       kk = ListBox1.SelectedIndex ' اسناد الاندكس الخاص بالعنصر المختار الى المتغير الرقمي
       TextBox1.Text = ListBox1.SelectedItem ' عرض العنصر في مربع النص
   End Sub
   '   في زر بوتون يضاف بعد التعديل
   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       ListBox1.Items.RemoveAt(kk) ' حذف العنصر القديم
       ListBox1.Items.Insert(kk, TextBox1.Text) ' اضافة العنصر بعد التعديل بدلالة رقم الاندكس
   End Sub



RE: تعديل على القيمة المختارة في ListBox - محمد العامر - 20-04-20

هذا كود التعديل كيف أطبق عليه 
كود :
If MsgBox("هل تريد تعديل البيانات للموظف: " & EemployeName & EemployeID, MsgBoxStyle.Question + vbYesNo, Title:="Warning") = vbYes Then
           Dim cmd As New SqlCommand
           With cmd
               .Connection = con
               .CommandType = CommandType.Text
               .CommandText = "Update TB_Status Set EemployStatus=@EemployStatus, where EemployStatus=@EemployStatus"
               .Parameters.Clear()

               .Parameters.AddWithValue("@EemployeStatus", SqlDbType.NVarChar).Value = TextBox1.Text


           End With
           If con.State = 1 Then con.Close()
           con.Open()

           cmd.ExecuteNonQuery()
           con.Close()

           MsgBox("تم إعتماد تعديل البيانات للموظف: ", MsgBoxStyle.Information)


       Else
           Return
       End If



RE: تعديل على القيمة المختارة في ListBox - ابراهيم ايبو - 20-04-20

السلام عليكم اخي الكريم 
هذا الكود ليس له علاقة بما سألته اولا هذا كود تعديل بيانات في قاعدة البيانات


RE: تعديل على القيمة المختارة في ListBox - محمد العامر - 20-04-20

صحيح أخي إبراهيم
احتاج بعد أن يتم إختيار القيمة من listbox وعرضها في textbox يتم تعديلها في قاعدة البيانات


RE: تعديل على القيمة المختارة في ListBox - ابراهيم ايبو - 20-04-20

السلام عليكم ورحمة الله وبركاته
لوانك تستطيع وصف مشكلتك بدقة سيكون بامكانك حلها بنفسك
الان لدينا ليست بوكس قمنا بتعديل اسم ما ولكن مازال هناك شيء ناقص بالمعلومات 
هل الاندكس الخاص بالعنصر المعدل هو نفسه الاي دي للسجل في قاعدة البيانات ؟
اذا كان ذلك صحيح فكان يجب ان نستخدم مربع نص أخر  باسم Txt_EemployeID سيكون هو الاي دي وسيكون شرط التعديل في قاعدة البيانات بناء على قيمته يعني الـ ID
انا سأضع لك كود تعديل العنصر الذي مازال موجودا في مربع النص textbox1 وسيكون الاي دي من مربع الاي دي
ارجو ان تكون قد استوعبت الموضوع 
هذه احدى المشاكل التي نعاننيها يكون السؤال من الاخ السائل في البدء شيء ثم يبدأ سؤال اخر يكون متعلق به وتحتلف الاجابة لانه تم الفصل منذ البدء بين السؤالين يعني بالاول ليست بوكس مجردة والان كل شيء متعلق بقاعدة البيانات!!!!!!!!!!!!!
كود :
      Dim Cmd As New SqlCommand("Update TB_Status Set EemployStatus=@EemployStatus, where EemployeID=@EemployeID", con)
       Cmd.Parameters.Add(New SqlParameter("@EemployStatus", SqlDbType.NVarChar)).Value = TextBox1.text
       Cmd.Parameters.Add(New SqlParameter("@EemployeID", SqlDbType.Int)).Value = Txt_EemployeID.text
       If Con.State = ConnectionState.Open Then Con.Close()

       Con.Open()
       Cmd.ExecuteNonQuery()
       Con.close()
       MessageBox.Show("Update SuccessFully", "Update", MessageBoxButtons.ok, MessageBoxIcon.Information)



RE: تعديل على القيمة المختارة في ListBox - محمد العامر - 20-04-20

أخي إبراهيم
جزاك الله خير قد أكون مخطئ في توضيح مطلبي أتمنى قبول العذر
مرفق لكم مثال للمطلوب حيث يكون التعديل في قاعدة البيانات بناء على ما يتم إختيارة من ListBox وكتابته في TextBox.


RE: تعديل على القيمة المختارة في ListBox - ابراهيم ايبو - 21-04-20

السلام عليكم ورحمة الله وبركاته
اخي عامر عدلت لك المثال ووضعت فيها داتا غرايد
وانشأت قاعدة بيانات من نوع ِاكسس يمكنك تغييرها الى SQLserver وذلك باستبدل كل كلمة oledb الى Sql في الكود
يمكنك الاضافة ايضا طبعا حقل الاي دي ترقيم تلقائي 
وللتعديل اضغط على العنصر في الليست بوكس وعدله في مربع النص واضغط edit



RE: تعديل على القيمة المختارة في ListBox - محمد العامر - 21-04-20

بارك الله فيك أخي ابراهيم
لكن ما حل هذه المشكلة
[attachment=24509]


RE: تعديل على القيمة المختارة في ListBox - ابراهيم ايبو - 21-04-20

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