Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    [vb.net] AutoCompleteCustomSource

    in un form ho un TextBox nel quale vorrei, mentre inserisco una parola (diciamo un cognome), che mi facesse comparire una finestrella a comparsa dei cognomi già presenti con le lettere fino a quel momento digitate.

    Così ho inserito:
    codice:
    Me.TextBoxCognome.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest 
    Me.TextBoxCognome.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource 
    Me.TextBoxCognome.BackColor = System.Drawing.SystemColors.Window
    Me.TextBoxCognome.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.NominativiBindingSource, "Cognome", True))
    Me.TextBoxCognome.DataBindings.Add(New System.Windows.Forms.Binding("AutoCompleteCustomSource", Me.NominativiBindingSource, "Cognome", True, System.Windows.Forms.DataSourceUpdateMode.OnPropertyChanged))
    Me.TextBoxCognome.Location = New System.Drawing.Point(103, 19)
    ....
    Ma non funziona!
    Inoltre se il controllo diventa attivo, non è possibile uscire ne da esso ne chiudere il programma...insomma si blocca, anche se è possibile scrivere (solamente)!

    mentre se inserisco singolarmente i i cognomi (ma non è quello che voglio fare poiche la lista deve essere aggiornata con quelli del db):
    codice:
    Me.TextBoxCognome.AutoCompleteCustomSource.AddRange(New String() {"cognome","cognome1","..."})   
    Me.TextBoxCognome.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest 
    Me.TextBoxCognome.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource 
    Me.TextBoxCognome.BackColor = System.Drawing.SystemColors.Window
    Me.TextBoxCognome.DataBindings.Add(New System.Windows.Forms.Binding("Text", Me.NominativiBindingSource, "Cognome", True))
    Me.TextBoxCognome.Location = New System.Drawing.Point(103, 19)
    ....
    funziona perfettamente.

    Dov'è il problema???

  2. #2
    Ripropongo il problema!!!
    Aiuto!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    2
    Anche io dovevo risolvere un problema simile (anzi uguale) al tuo e ho risolto così:
    codice:
    Private Sub FillAutocomplete(ByVal dt As DataTable, ByVal txtAutoComplete As TextBox)
            Dim row As DataRow
            For Each row In dt.Rows
                txtAutoComplete.AutoCompleteCustomSource.Add(row("nome o numero campo").ToString())
            Next
    End Sub
    Credo sarà utile anche a te...
    bye

  4. #4
    scusa, ma quella funzione quanto la esegui???

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    2
    Quando vuoi! Io la eseguo al caricamento del form....

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.