الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

مشكلة عند النقر على Select في GridView لا يعيد رقم الصنف

بدأه gazao في 23 يناير 2012 · 6 رد · 743 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي عمودين في gridView

عند الضغط على Select في العمود الاول يعيد رقم الصنف بنجاح الى TextBox

لكن المشكلة

عند الضغط على Select في العمود الثاني يحدث خطأ

نص الخطأ

Input string was not in a correct format.

Dim index As Integer = Convert.ToInt32(e.CommandArgument)

ارفقت البرنامج ووضحت فيه مكان الخطأ اتمنى حل المشكلة

رابط البرنامج

http://www.4shared.com/zip/8QY99jlp/eb3.html?

سبحان الله وبحمده سبحان الله العظيم


 


 


syria.jpg


#2

ما في رد ؟

سبحان الله وبحمده سبحان الله العظيم


 


 


syria.jpg


#3

سبب الخطأ انه يحاول ان يقوم بتحويل قيمه غيرصحيحة(المقصود هنا هو الـ e.CommandArgument) إلى نوع Integer ، لانه لو تتبعت الكود سوف تلاحظ ان المتغير لا يحتوي على اي قيمه وانما يحتوي عبى قيمه نصيه فارغه ويحاول تحويلها إلى Integer ولكي تحل المشكله قمت بعمل تعديل بسيط على الكود وهو فحص قيمه المتغير قبل الدخول بالكود هلى تحوي على قيمه او لا .

Protected Sub GridView2_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles GridView2.RowCommand
        If String.IsNullOrEmpty(e.CommandArgument) = False Then
            Select Case e.CommandName
                Case "Select"
                    Dim index As Integer = Convert.ToInt32(e.CommandArgument)
                    Dim myRow As GridViewRow = GridView2.Rows(index)

                    Dim lab5 As Label = DirectCast(myRow.FindControl("Label2"), Label)

                    Me.TextBox2.Text = lab5.Text.ToString

                Case "No Select"
                    Dim index As Integer = Convert.ToInt32(e.CommandArgument)
                    Dim myRow As GridViewRow = GridView2.Rows(index)

                    Dim lab5 As Label = DirectCast(myRow.FindControl("Label1"), Label)
                    Me.TextBox2.Text = lab5.Text.ToString

            End Select
        End If

لا تقدم لله ما يكره وتطلب منه ما تحب

#4

شكرا اخي tagh552 على الاهتمام

لكن أنا اريد

عند الضغط على Select

في العمود الاول

يعيد رقم الصنف في TextBox1

عند الضغط على Select

في العمود الثاني

يعيد اسم الصنف في TextBox2

سبحان الله وبحمده سبحان الله العظيم


 


 


syria.jpg


#5

تم التعديل انظر المرفق

eb3.rar

#6

ماشاء الله عليك أخي KARIMSOFT

أنا لقيت الحل

من خلال الحدثين RowCommand و RowCreated الخاص بـ GridView لكن الكود طويل شويه

لكن طريقتك سهلة وبسيطة وتعتمد على حدث واحد فقط RowCommand

الله يعطيك العافية

مشكور لكم تجاوبكم KARIMSOFT , tagh552

سبحان الله وبحمده سبحان الله العظيم


 


 


syria.jpg


#7

لا شكرا علي واجب

مواضيع مشابهة