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

نسخة كاملة : حول استخدام AutoCompleteSource داخل الجريد فيو
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم ورحمة الله
عندما اقوم بملاء البيانات داخل التكست بكس يتم استخدام AutoCompleteSource و AutoCompleteMode وعند الكتابة داخل التكس بكس يتم ظهور الداتا التى تبداء باول حرف تم كتابة كيف يمكن استخدام هذه الخواص داخل كل خلية داخل الجريد فيو
السلام عليكم ورحمة الله وبركاته

جرب هذا الكود

PHP كود :
Public Class Form1


    Dim scAutoComplete 
As AutoCompleteStringCollection

    
Private Sub Form1_Load(ByVal sender As System.ObjectByVal e As System.EventArgsHandles MyBase.Load

        scAutoComplete 
= New AutoCompleteStringCollection
        scAutoComplete
.AddRange(New String() {"معلم""طبيب""مزارع"})

    
End Sub


    
Private Sub DataGridView_EditingControlShowing(ByVal sender As ObjectByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgsHandles DataGridView1.EditingControlShowing

        
If TypeOf e.Control Is TextBox Then
            Dim tb 
As TextBox DirectCast(e.ControlTextBox)
            
With tb
                
.AutoCompleteMode AutoCompleteMode.SuggestAppend
                
.AutoCompleteSource AutoCompleteSource.CustomSource
                
.AutoCompleteCustomSource scAutoComplete
            End With

        End 
If

    
End Sub

End 
Class 

****
***
**
*
شكرا جدا على الرد والكود يعمل والحمد لله

ولى سؤال هناك اكثر من عمود داخل الجريد فكيف احدد هذه المعلومات الى عمود عمود معين دون الاخر
يتم ذلك بالتحقق من رقم العمود كالتالي:
كود :
If DataGridView1.CurrentCell.ColumnIndex = 2 Then
......

وبالتعديل علي الكود السابق يصبح:

كود :
Private Sub DataGridView_EditingControlShowing(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewEditingControlShowingEventArgs) Handles DataGridView1.EditingControlShowing

        If DataGridView1.CurrentCell.ColumnIndex = 2 Then

            If TypeOf e.Control Is TextBox Then
                Dim tb As TextBox = DirectCast(e.Control, TextBox)
                With tb
                    .AutoCompleteMode = AutoCompleteMode.SuggestAppend
                    .AutoCompleteSource = AutoCompleteSource.CustomSource
                    .AutoCompleteCustomSource = scAutoComplete
                End With

            End If

        End If

    End Sub
شكرا جدا على الاهتمام ولكن واجهتنى نفس المشكلة
وبالبحث وجدت هذا الكود والذى يعمل على العمود المراد فقط دون التأثير على الاخر
PHP كود :
Dim ItemCode As TextBox TryCast(e.ControlTextBox)
        If 
ItemCode IsNot Nothing Then
            
If DataGridView1.CurrentCell.ColumnIndex 1 Then
                ItemCode
.AutoCompleteMode AutoCompleteMode.SuggestAppend
                ItemCode
.AutoCompleteCustomSource scAutoComplete
                ItemCode
.AutoCompleteSource AutoCompleteSource.CustomSource
            
Else
                
'Not columnn 1, turn of Autocomplete
                ItemCode.AutoCompleteMode = AutoCompleteMode.None
            End If
        End If