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

مشكله عدم ظهور البيانات الجديدة في combobox

بدأه toutou39 في 16 نوفمبر 2011 · 9 رد · 1,470 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

لدي مشكل في تعبئة الكومبوبكس بالبيانات الجديدة

وهي عند اضافة سائق جديد في الفورم 2 وبعد الحفظ

لا تظهر بيانات السائق في الكومبوبكس في الفورم 1

وتظهر هذه البيانات الا بعد اغلاق والفتح من جديد

فما هو الحل

وهذا مثال من المشروع

allaboutDGview.rar

#2

السلام عليكم

قم بوضع الكود التالي بعد كود الحفظ في الفورمة رقم 2

Dim cmd As OleDbCommand = New OleDbCommand("SELECT Name,NCam,NBer,DBer,Dayr,Wil  from tb2 order by ID ", con)
DataAdapter = New OleDbDataAdapter(cmd)
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter)
con.Open()
DataSet1 = New DataSet
DataAdapter.Fill(DataSet1, "Tb2")
con.Close()

منحة للخريجين وطلاب الجامعات و المعاهد

دبلومة لتخريج مبرمج متخصص في هندسة صناعة البرمجيات وتصميم وبرمجة تطبيقات الأنترنت

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

#3
Mady-AGC كتب:

السلام عليكم

قم بوضع الكود التالي بعد كود الحفظ في الفورمة رقم 2

Dim cmd As OleDbCommand = New OleDbCommand("SELECT Name,NCam,NBer,DBer,Dayr,Wil  from tb2 order by ID ", con)
DataAdapter = New OleDbDataAdapter(cmd)
Dim builder As OleDbCommandBuilder = New OleDbCommandBuilder(DataAdapter)
con.Open()
DataSet1 = New DataSet
DataAdapter.Fill(DataSet1, "Tb2")
con.Close()

مشكور على الرد ولكن

مع الاسف بقي نفس المشكل

#4

السلام عليكم

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

#5
ahamdasp1 كتب:

السلام عليكم

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

كيف يمكن مسح الكومبو

#6
toutou39 كتب:

كيف يمكن مسح الكومبو

لمسح البيانات من الكومبو بوكس أستخدم الكود التالي

ComboBox1.Items.Clear

منحة للخريجين وطلاب الجامعات و المعاهد

دبلومة لتخريج مبرمج متخصص في هندسة صناعة البرمجيات وتصميم وبرمجة تطبيقات الأنترنت

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

#7

فاكيد ان المشكل هو في الحفظ للفورم 2

لانه يحفظ مباشرة الى database

فارجوا تصحيح لكود الحفظ ليقوم بالحفظ على dataset1

Private Sub btn_save_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btn_save.Click

        Try
            Dim SavInto As New OleDb.OleDbCommand
            CreateConn()
            SavInto.Connection = getConn()
            SavInto.CommandType = CommandType.Text
            SavInto.CommandText = "INSERT INTO tb2(ID,name,NCam,NBer,DBer,Dayr,Wil)" & _
            "values ('" & Me.txt_ID.Text & "','" & Me.txt_name.Text & "','" & Me.txt_NCam.Text & "','" & Me.Txt_NBer.Text & "','" & Me.Txt_DBer.Text & "','" & Me.Txt_Dayr.Text & "','" & Me.Txt_Wil.Text & "') "
            OpenConn()
            If SavInto.ExecuteNonQuery() Then
                'إذا تمت عملية الإضافة بنجاح يتم اضافة الحقول إلى الداتا قريد مباشرة بدل استراجاعها من الداتابيس
                t1.Text = "تمت إضافة السجل الجديد بنجاح"
                DGview.Rows.Add()
                DGview.Item(0, DGview.Rows.Count - 1).Value = Me.txt_ID.Text
                DGview.Item(1, DGview.Rows.Count - 1).Value = Me.txt_name.Text
                DGview.Item(2, DGview.Rows.Count - 1).Value = Me.txt_NCam.Text
                DGview.Item(3, DGview.Rows.Count - 1).Value = Me.Txt_NBer.Text
                DGview.Item(4, DGview.Rows.Count - 1).Value = Me.Txt_DBer.Text
                DGview.Item(5, DGview.Rows.Count - 1).Value = Me.Txt_Dayr.Text
                DGview.Item(6, DGview.Rows.Count - 1).Value = Me.Txt_Wil.Text

                Me.btn_save.Enabled = False
                Me.btn_add.Enabled = True
                Me.grp1.Enabled = False
            Else
                MsgBox("فشلت عملية الإضافة", MsgBoxStyle.MsgBoxRight, "رسالة خطأ")
            End If
            CloseConn()
        Catch ex As Exception
            MsgBox("صادف مشكله أثناء القيام بعمليه الإضافه , الرجاء المحاولة لاحقا", MsgBoxStyle.OkOnly, "تنبيه")
        End Try

    End Sub
#8

السلام عليكم

أخي الكريم

مشروعك جد معقد .لماذا إعتمدت على الكود في تصميم gridview ؟؟

صادفني هذا المشكل سابقا وقمت بحله . لكن في مشروعك لم أفهم شيء

أتمنى أن تجد يد المساعدة

#9

السلام عليكم ورحمه الله وبركاته

اخي شوف الرابط التالي /index.php?showtopic=252052

.:: Wish to become better and better ::.

#10

سأعطيك الحل كلام وانت حاول ان تطبقة على مشروعك

قم بعمل اجراء وليكن اسمه FillCombo وبه اربع وسيطات الاولى بأسم الجدول المطلوب ربط خاصية data source به وليكن اسم الوسيطة table

الوسيطة الثانية DisMember للخاصية Displaymember

والثالثة ValMember للخاصية ValueMember

والرابعة combo للكمبوبكوس ويكون الاجراء بالشكل التالي

Public Sub FillCombo(ByVal table As String, ByVal DisMember As String, ByVal ValMember  As String,ByVal combo As ComboBox) End sub

وبعدها قم بتعريفDataSet وDataAdapter كالتالي

Dim DS As New DataSe

        Dim SQL As String = "SELECT * FROM " & table

Conn.Open

Dim DA As New SqlClient.SqlDataAdapter(SQL, Conn)

Conn.Close

حيث Conn هو الاتصال

وبعد ذلك قم بتعبئة الديتا سيت

 DA.Fill(DS, table)

وقم يمسح محتويات الكمبوبوكس

        combo.Items.Clear()

وبعدها التالي لربط الكمبوبوكس بالجدول المطلوب

combo.DataSource = DS.Tables(table)

وبعدها ربط الخاصية DataSource

combo.DisplayMember = DisMember

وخاصية ValueMember

 combo.ValueMember = ValMember

وبعدها انهاء الادبتر والديتا سيت '

DS.Dispose()

DA.Dispose()

End Sub

وفي حدث ComboBox_Enter

استدعي التالي مع تمرير الوسيطات المطلوبة

Call FillCombo("TableName", "Displayfield,"Valuefield, Me.combobox)

وجرب وقلي ماذا حدث معك

واتأسف لأني اول مرة اضع حلا لسؤال فلربما تظهر الاجابة متدداخلة

تزودوا فأن خيرا الزاد التقوى

اللهم انصر اخواننا المسلمين المجاهدين في كل مكان

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