steep0001
Messages postés5Date d'inscriptionjeudi 25 septembre 2008StatutMembreDernière intervention23 février 2011
-
20 janv. 2009 à 19:33
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 2011
-
21 janv. 2009 à 22:31
Bonjour à tous, voila le topo :
j'ai une listbox, celle ci est composée d'un datatable de deux colonne, l'une avec des clés primaire (valuemember), l'autre avec le nom à afficher (displaymember).
Le but du jeu est de réaliser une autocompletion dans la textbox via la list.
au niveau du code, on voit qu'il fait bien la recherche en fonction de ce que l'on tape, mais je ne parviens pas à concaténer ma textbox avec l'autocomplete, elle reste blanche.
enfin : quand j'applique ce même code ur une listbox ans datatable, tout fonctionne très bien, en fait je ne sait pas comment afficher le texte à retourner.
Merci de bien vouloir me venir en aide.
ps : ceux qui parle pour ne rien dire peuvent s'abstenir.
voila le code :
//////////////////////////////////////////////////////////////////////////////
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MaConnexion.Open()
MaCommande.CommandText = CommandType.Text
MaCommande.CommandText = "SELECT noetudiant, NomEtudiant, PrenomEtudiant FROM etudiant order by nometudiant"
MonCurseur = MaCommande.ExecuteReader
dt.Columns.Add("C1")
dt.Columns.Add("C2", GetType(String))
While MonCurseur.Read() = True
dt.Rows.Add(MonCurseur.GetDecimal(0), MonCurseur.GetString(1))
End While
List1.DataSource = dt
List1.ValueMember = "C1"
List1.DisplayMember = "C2"
MonCurseur.Close()
End Sub
Private Sub Text1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Text1.TextChanged
Try
If AutoComplete Then
Dim TextEntered As String = Text1.Text
Dim iIndex As Integer = List1.FindString(Text1.Text.Trim())
cs_fauve
Messages postés661Date d'inscriptionvendredi 2 décembre 2005StatutMembreDernière intervention23 mars 20118 21 janv. 2009 à 22:31
Salut,
Je crois avoir compris ce que tu souhaites faire, ce code va ajouter dans l'autocomplete de Text1, le contenu de List1. Ainsi, en tapant quelques lettres, Text1 va te proposer dans une liste qui apparaitra en dessous de celui-ci et qui contiendra le contenu de List1 correspond à ce que tu as tapé dans Text1.
Si c'est bien ce que tu cherches, tu n'auras plus besoin de la procédure Text1_TextChanged, tout sera fait automatiquement.
<hr size= "2" width="100%" />
Private Sub
Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
MaConnexion.Open()
MaCommande.CommandText = CommandType.Text
MaCommande.CommandText = "SELECT noetudiant, NomEtudiant, PrenomEtudiant FROM etudiant order by nometudiant"
MonCurseur = MaCommande.ExecuteReader
Dim col As New System.Windows.Forms.AutoCompleteStringCollection
For Each Str As String In List1.Items
col.Add(Str)
Next Text1.AutoCompleteCustomSource = col
Text1.AutoCompleteMode = AutoCompleteMode.Suggest
Text1.AutoCompleteSource = AutoCompleteSource.CustomSource