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

مشكله في dropdownlist أرجو المساعده

مغلق
بدأه hafs في 30 يناير 2006 · 6 رد · 806 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عندما أقوم بتعبئة دروب داون لست عن طريق قاعدة البيانات الخاصه بالموقع يتم تعبئتها كما ترى:

30_01_06_03_11_34_1138619494pic1.JPG

هذا في بادئ الأمر ولكن......

عند اختيار بيانات من الداتا جرد في الأسفل وإظهارها في التكست والدروب داون يتم اختفاء أول عنصر في الدروب داون بحيث يحل مكانه العنصر الموجود في الداتا جرد كما في الصورة التاليه:

30_01_06_03_13_45_1138619625pic_.JPG

لاحظ إختفاء كلمة admin , وإظهار كلمة region user

لاأدري ماهي المشكله أو كيفية التخلص منها أرجو منكم المساعده

وجزاكم الله خيرا

أخوكم ومحبكم في الله / أبو حفص

فمن يباري أباحفص وسيرته *** أو من يحاول للفاروق تشبيها

#2

أخي الكريم :

هل يمكنك أن ترفق مشروعك حتى نعلم مالمشكلة ؟

أو أرفق على الأقل الكود الذي تضعه في حدث اختيار drop down list ؟ ...

#3

هذا كود تعبئة الدروب داون لست من قاعدة البيانات:

MC.AddToCbo(DropDownList1, "SELECT grp_desc FROM GROUPS")

حيث MC هي كلاس وAddToCbo هي فنكشن وإليك إياه:

    Sub AddToCbo(ByVal cboname As DropDownList, ByVal sqlstatment As String)

        Try
            ConnectDB()

            dt_addtocbo.SelectCommand = New SqlCommand(sqlstatment, Sql_Conn)
            dt_addtocbo.Fill(ds_addtocbo, "cbodata")

            cboname.Items.Clear()

            If ds_addtocbo.Tables("cbodata").Rows.Count <> 0 Then

                Dim i As Integer
                For i = 0 To ds_addtocbo.Tables("cbodata").Rows.Count - 1
                    cboname.Items.Add(Trim(ds_addtocbo.Tables("cbodata").Rows(i)(0)))
                Next

            End If
            Sql_Conn.Close()
            dt_addtocbo.Dispose()
            ds_addtocbo.Dispose()

        Catch
            MsgBox(Err.Description, MsgBoxStyle.Critical)
        End Try

    End Sub

والكود التالي هو عباره عن حدث عند الضغط على كلمة Select في الجرد يقوم بتعبئة البيانات من الجرد إلى التكست والدروب داون لست

 Private Sub dg_user_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dg_user.UpdateCommand

        Try
            lbl_error.Text = ""

            MC.AddToCbo(DropDownList1, "SELECT grp_desc FROM GROUPS")

            u_no = e.Item.Cells(1).Text

            MC.ConnectDB()
            ds_user.Clear()

            dt_user.SelectCommand = New SqlCommand("SELECT * FROM USERS WHERE user_id = " & u_no & "", MC.Sql_Conn)
            dt_user.Fill(ds_user, "user_info")

            txt_user_id.Text = ds_user.Tables("user_info").Rows(0)("user_id")
            txt_user_fullname.Text = ds_user.Tables("user_info").Rows(0)("full_name")
            txt_user_login.Text = ds_user.Tables("user_info").Rows(0)("user_name")
            txt_user_password.Text = ds_user.Tables("user_info").Rows(0)("user_password")

            DropDownList1.SelectedItem.Text = ds_user.Tables("user_info").Rows(0)("user_level")


            btn_add_user.Enabled = True
            btn_save_user.Enabled = False
            btn_update_user.Enabled = True
            btn_delete_user.Enabled = True

            MC.Sql_Conn.Close()
            dt_user.Dispose()
            ds_user.Dispose()

        Catch ex As Exception

        End Try

    End Sub

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

أخوكم ومحبكم في الله / أبو حفص

فمن يباري أباحفص وسيرته *** أو من يحاول للفاروق تشبيها

#4

هذا كود تعبئة الدروب داون لست من قاعدة البيانات:

MC.AddToCbo(DropDownList1, "SELECT grp_desc FROM GROUPS")

حيث MC هي كلاس وAddToCbo هي فنكشن وإليك إياه:

    Sub AddToCbo(ByVal cboname As DropDownList, ByVal sqlstatment As String)

        Try
            ConnectDB()

            dt_addtocbo.SelectCommand = New SqlCommand(sqlstatment, Sql_Conn)
            dt_addtocbo.Fill(ds_addtocbo, "cbodata")

            cboname.Items.Clear()

            If ds_addtocbo.Tables("cbodata").Rows.Count <> 0 Then

                Dim i As Integer
                For i = 0 To ds_addtocbo.Tables("cbodata").Rows.Count - 1
                    cboname.Items.Add(Trim(ds_addtocbo.Tables("cbodata").Rows(i)(0)))
                Next

            End If
            Sql_Conn.Close()
            dt_addtocbo.Dispose()
            ds_addtocbo.Dispose()

        Catch
            MsgBox(Err.Description, MsgBoxStyle.Critical)
        End Try

    End Sub

والكود التالي هو عباره عن حدث عند الضغط على كلمة Select في الجرد يقوم بتعبئة البيانات من الجرد إلى التكست والدروب داون لست

 Private Sub dg_user_UpdateCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dg_user.UpdateCommand

        Try
            lbl_error.Text = ""

            MC.AddToCbo(DropDownList1, "SELECT grp_desc FROM GROUPS")

            u_no = e.Item.Cells(1).Text

            MC.ConnectDB()
            ds_user.Clear()

            dt_user.SelectCommand = New SqlCommand("SELECT * FROM USERS WHERE user_id = " & u_no & "", MC.Sql_Conn)
            dt_user.Fill(ds_user, "user_info")

            txt_user_id.Text = ds_user.Tables("user_info").Rows(0)("user_id")
            txt_user_fullname.Text = ds_user.Tables("user_info").Rows(0)("full_name")
            txt_user_login.Text = ds_user.Tables("user_info").Rows(0)("user_name")
            txt_user_password.Text = ds_user.Tables("user_info").Rows(0)("user_password")

            DropDownList1.SelectedItem.Text = ds_user.Tables("user_info").Rows(0)("user_level")


            btn_add_user.Enabled = True
            btn_save_user.Enabled = False
            btn_update_user.Enabled = True
            btn_delete_user.Enabled = True

            MC.Sql_Conn.Close()
            dt_user.Dispose()
            ds_user.Dispose()

        Catch ex As Exception

        End Try

    End Sub

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

فمن يباري أباحفص وسيرته *** أو من يحاول للفاروق تشبيها

#5

أخي الكريم الخطأ هو في هذه التعليمة :

 DropDownList1.SelectedItem.Text = ds_user.Tables("user_info").Rows(0)("user_level")

لأنه :

المستخدم حالياً قد حدد admin من drop down list ثم قام بالضغط على زر select لشخص ما ذو مستوى region user بالتالي ستصبح قيمة

ds_user.Tables("user_info").Rows(0)("user_level")

هي "user region" و بالتالي تصبح تعليمتك بالشكل :

"DropDownList1.SelectedItem.Text="user region و بما أن العنصر المختار من drop down list هو admin لذلك تختفي من drop down list ...

أخي الكريم ما القصد من استعمالك تلك التعليمة ؟

إذا أردت تحديد العنصر من drop down list الموافق للشخص الذي يضغط select من أجله : استبد التعليمة السابقة بما يلي :

For i=0  to DropDownList1.items.count-1 
 If  dropDownList1.item(i).text= ds_user.Tables("user_info").Rows(0)("user_level") then 

    dropDownList1.selectedindex= i
 exit for 
end if 
   
Next

أرجو أن الفكرة قد وصلت .....

مع تحياتي ...

#6

السلام عليكم

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

أخوك أبو حفص

فمن يباري أباحفص وسيرته *** أو من يحاول للفاروق تشبيها

#7

لا داعي للشكر أخ أبو حفص ...... فما فعلته ليس سوى الواجب ...

هذا الموضوع مغلق.

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