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

نسخة كاملة : اريد كود للبحث التلقائي في DataGridView
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السلام عليكم
ان جديد معكم ومبتدئ ارجو ان تفيدوني واكون ممنون اليكم
اريد كود للبحثالت لقائي في DataGridView اي في خلية من الدتاقريد ويكون بحث تلقائي وعام 
مثلا اريد البحث في خلية رمزالمنتج من قاعدة بينات اكسس مربوطة الي فيجوال 2010
وياريت مثال صغير من ايديكم السخية
(15-11-17, 04:08 PM)Amir_alzubidy كتب : [ -> ]و عليكم السلام و رحمة الله 
حياك الله اخي الكريم 
هذا مثال 
بارك الله فيك اخي علي الهتمام 
لكن اخي ان لم افهمك المضوع اريديااخي الكريم البحث من خلال الدتاقريد اي من داخل الحقل نفسو وليكن حقل الاصنف مثلا
مرحبا اخي اذا كان قدك هو auto complete لعمود معين من قاعده البيانات 
هذا مثال يوجد فيه الطريقه ( يوجد فورم فيه ال DataGridView قم بتشغيل المشروع 
وفم بالضغط على زر new form سيظهر لك الفورم المحتوي على DataGridView .
(15-11-17, 06:11 PM)Rabeea Qbaha كتب : [ -> ]مرحبا اخي اذا كان قدك هو auto complete لعمود معين من قاعده البيانات 
هذا مثال يوجد فيه الطريقه ( يوجد فورم فيه ال DataGridView قم بتشغيل المشروع 
وفم بالضغط على زر new form سيظهر لك الفورم المحتوي على DataGridView .

مشكور اخي لم اجرب طلعلي مشكل إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.
(15-11-17, 06:19 PM)ahmedbezia كتب : [ -> ]
(15-11-17, 06:11 PM)Rabeea Qbaha كتب : [ -> ]مرحبا اخي اذا كان قدك هو auto complete لعمود معين من قاعده البيانات 
هذا مثال يوجد فيه الطريقه ( يوجد فورم فيه ال DataGridView قم بتشغيل المشروع 
وفم بالضغط على زر new form سيظهر لك الفورم المحتوي على DataGridView .

مشكور اخي لم اجرب طلعلي مشكل إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.

قم بالبحث في المنتدى لحل هذه المشكله فهي بيسطه

على كلن هذا هو الكود لكن ستكون الفكره اوضح في المثال :


كود :
Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
       Dim header As String = DataGridView1.Columns(0).HeaderText

       If header.Equals("PART NUMBER") Then
           Dim text As TextBox = TryCast(e.Control, TextBox)

           If text IsNot Nothing Then
               text.AutoCompleteMode = AutoCompleteMode.Suggest
               text.AutoCompleteSource = AutoCompleteSource.CustomSource

               Dim data As AutoCompleteStringCollection = New AutoCompleteStringCollection
               addData(data)
               text.AutoCompleteCustomSource = data
           End If
       End If

   End Sub
   Private Sub addData(ByVal data As AutoCompleteStringCollection)
       'فحص الاتصال بقاعدة البيانات
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
       con.Open()

       Dim cmd As New OleDbCommand()
       cmd.Connection = con
       cmd.CommandText = "select part_no from price"
       Dim dr As OleDbDataReader = cmd.ExecuteReader
       While dr.Read
           data.Add(dr.Item(0))
       End While
       dr.Close()
       con.Close()
   End Sub
(15-11-17, 07:23 PM)Rabeea Qbaha كتب : [ -> ]
(15-11-17, 06:19 PM)ahmedbezia كتب : [ -> ]
(15-11-17, 06:11 PM)Rabeea Qbaha كتب : [ -> ]مرحبا اخي اذا كان قدك هو auto complete لعمود معين من قاعده البيانات 
هذا مثال يوجد فيه الطريقه ( يوجد فورم فيه ال DataGridView قم بتشغيل المشروع 
وفم بالضغط على زر new form سيظهر لك الفورم المحتوي على DataGridView .

مشكور اخي لم اجرب طلعلي مشكل إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.

قم بالبحث في المنتدى لحل هذه المشكله فهي بيسطه

على كلن هذا هو الكود لكن ستكون الفكره اوضح في المثال :


كود :
Private Sub DataGridView1_EditingControlShowing(ByVal sender As Object, ByVal e As DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing
       Dim header As String = DataGridView1.Columns(0).HeaderText

       If header.Equals("PART NUMBER") Then
           Dim text As TextBox = TryCast(e.Control, TextBox)

           If text IsNot Nothing Then
               text.AutoCompleteMode = AutoCompleteMode.Suggest
               text.AutoCompleteSource = AutoCompleteSource.CustomSource

               Dim data As AutoCompleteStringCollection = New AutoCompleteStringCollection
               addData(data)
               text.AutoCompleteCustomSource = data
           End If
       End If

   End Sub
   Private Sub addData(ByVal data As AutoCompleteStringCollection)
       'فحص الاتصال بقاعدة البيانات
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
       con.Open()

       Dim cmd As New OleDbCommand()
       cmd.Connection = con
       cmd.CommandText = "select part_no from price"
       Dim dr As OleDbDataReader = cmd.ExecuteReader
       While dr.Read
           data.Add(dr.Item(0))
       End While
       dr.Close()
       con.Close()
   End Sub
تسلم حبيبي لاكن المثال مو شغال معي

ممكن واح يساعد auto complete
علي الدتاقريد 
صديقي المثال شغال 100% و انا قمت بعمله قبل عده ايام لشخص هنا بالمنتدى
قم بالتعديل عليه بشكل مناسب او قم بتشغيل المثال
(15-11-17, 08:25 PM)Rabeea Qbaha كتب : [ -> ]صديقي المثال شغال 100% و انا قمت بعمله قبل عده ايام لشخص هنا بالمنتدى
قم بالتعديل عليه بشكل مناسب او قم بتشغيل المثال

نعم اخي الفاضل ان اعرف ان الغلط مش من عندك ان النضام تبعي بايطلعرسالة خطئ 
إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.
اسف علي الازعاج وانة منون اليك ان استعمل اكسس2010
وفيجوال بازيك2012
(15-11-17, 08:41 PM)ahmedbezia كتب : [ -> ]إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.

< Pjoject > WindowsApplication1 Properties
< Compile > Advanced Compile Options
Target CPU: x86
(15-11-17, 08:50 PM)a.ahmed كتب : [ -> ]
(15-11-17, 08:41 PM)ahmedbezia كتب : [ -> ]إن الموفر 'Microsoft.ACE.OLEDB.12.0' غير مسجل على الجهاز المحلي.

< Pjoject > WindowsApplication1 Properties
< Compile > Advanced Compile Options
Target CPU: x86

مشكور اخي ان جربت من قبل هد الطريقة  لاكن لاتنفع 
لان Target CPU: x86 عندي لايضه اختيارات
الصفحات : 1 2