Oppure

Loading
12/02/11 14:13
spiderman
salve a tutti,

sapete come fare aprire una combobox in automatico quando si ci scrive sopra,facendo vedere i risultati della parola cercata?

grazie a tutti della collaborazione!
aaa
12/02/11 18:27
walker93
Modificare a dovere le tre proprietà della combobox:
-AutoCompleteCustomSource
-AutoCompleteMode
-AutoCompleteSource

la prima è l'insieme dei risultati che vorresti mettere
la seconda è il modo con cui vegono mostrati
la terza è la sorgente del suggerimento (usa CustomSurce se riempi la 1° proprietà con i tuoi risultati)
aaa
12/02/11 19:59
spiderman
Grazieeeeeee walker93 ma tu sei un amico!:)
non lo sapevo questa cosa!
ma dimmi ma se io lo voglio collegare la combobox a una tabella tramite:

DataSource --->tabella cliente
displaymember---> cognome

è setto le proprietà

AutoCompleteMode
AutoCompleteSource

è l' AutoCompleteCustomSource lo annullo

l'oggetto combobox non funziona tu sai il perchè, cioè come posso ottenere lo stesso risultato che mi hai indicato tu con i dati all'interno di una tabella?

grazie ancora:)




aaa
12/02/11 21:37
walker93
Se per tabella intendi un DataGridView allora procedi come segue:
setta le proprietà della combobox
-AutoCompleteMode = (come preferisci, lo stile classico è suggest)
-AutoCompleteSource = "CustomSource"

AutoCompleteCustomSource è una collezione, pertanto possiamo aggiungergli tranquillamente i valori durante l'esecuzione del programma...

Possiamo ottenere i valori che ci interessano in questo modo:
Dim val As String
val = DataGridView.Rows(0).Cells(0).Value

i due zeri solo gli indici rispettivamente della riga e della colonna di conseguenza se ti interessano i valori della 3° colonna userai indice 2 (ricordati che l'indice parte da 0 e non da 1) nella parentesi Cells.
in questo modo otteniamo il valore che vogliamo all'interno della tabella.
A te interessa tutta una colonna intera, di conseguenza usiamo un ciclo opportunamente posizionato per ottenere tutti i valori che ci interessano.
e li aggiungiamo alla combobox in questo modo:
ComboBox1.AutoCompleteCustomSource.Add(val)

spero di essere stato chiaro
aaa
13/02/11 12:04
spiderman
la "DataGridView" è una ottima idea per popolare il "AutoCompleteCustomSource"
se la datagridview si trova nella stessa form.
Ma lo scopo è prendere i dati da una colonna della tabella di un db in sql server, quindi dovvrei fare un ciclo for o while per scansionare una intera colonna?
aaa
13/02/11 14:24
walker93
il problema è che il controllo DataGridView ha la collezione "Cells" all'interno della collezione "Rows" ma non l'ha dentro la collezione "Columns" quindi sei costretto a usare un ciclo...
se la tabella di SQL ti permette di prendere tutta la collezione "Cells" da quella delle colonne non ci sono grossi problemi.
in ogni caso una volta capito come aggiungerle hai suggerimenti della Combobox resta solo da capire come si devono prelevare i valori dalla tabella SQL.
io non ho mai lavorato con SQL SERVER, ma credo che le informazioni per prelevare i valori dalla tabella tu le possa tranquillamente trovare on-line.
aaa
17/02/11 16:36
spiderman
salve,

rispondo a walker93 è agli amici di questo forum con la soluzione che ho trovato grazie anche a walker93,

per trovare la colonna del database è popolare "AutoCompleteCustomSource" faccio cosi:

 Dim Conn As SqlConnection = New SqlConnection(ConfigurationManager.ConnectionStrings("mioDataSet").ConnectionString)


        Dim Command1 As SqlCommand = New SqlCommand("select  DESCRIZIONE  from mia_tabella", Conn)
       
        Conn.Open()
        Dim reader1 As SqlDataReader = Command1.ExecuteReader

        Do While reader1.Read()
            DESCRIZIONETextBox.AutoCompleteCustomSource.Add(reader1.GetString(0))
          
        Loop
        reader1.Close()



praticamente nel form_load scrivo il sequente codice, che apro una conessione al db faccio una querry è con un ciclo while popolo AutoCompleteCustomSource,
alla fine mi cerca tutte le stringhe della colonna.
c'è qualcosina di diverso!, in senso che il menu a tentina non si apre è ovvio, quindi la parola cercata non si evidenzia di blu come avviene nel menu a tentina.
Cmq in linea di massima può andare se risolvo questo piccola cosa la posto.
Ultima modifica effettuata da spiderman 17/02/11 16:38
aaa
17/02/11 18:22
walker93
Postato originariamente da spiderman:
c'è qualcosina di diverso!, in senso che il menu a tentina non si apre è ovvio, quindi la parola cercata non si evidenzia di blu come avviene nel menu a tentina.
Cmq in linea di massima può andare se risolvo questo piccola cosa la posto.


Non ho capito cosa intendi dire ma credo che si possa risolvere con la proprietà
"AutoCompleteMode", o mi sbaglio?
aaa