Bonsoir a vous tous :
j'essaye d'utiliser l'autocomplete dans un champs de texte qu'il est dédié pour la recherche dans ma base de donnée j'ai parcouru le net et jai trouver des tutos que j'ai parfaitement executer avec succée bref le souci est le suivant :
je veux en premier lieux realiser l'auto complete dés le load de ma fenetre c le code suivant que j'ai utilisé :
et puis je veux en tappant la matricule dans le chaps de texte(bien sur l'autocomplete joue son role ) allez dans la base de donnée et afficher le résultat dans un datagridview pour cela le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 private void LoadDataToCollection() { AutoCompleteStringCollection danhsach = new AutoCompleteStringCollection(); SqlConnection conn = new SqlConnection(); conn = cn.getcon(); string sql = "select MATR_INVT from INTERVENANT"; SqlCommand com = new SqlCommand(sql, conn); conn.Open(); SqlDataReader reader; reader = com.ExecuteReader(); if (reader != null) { while (reader.Read()) { danhsach.Add(reader["MATR_INVT"].ToString()); } } textfinduserintervenant.AutoCompleteMode = AutoCompleteMode.SuggestAppend; textfinduserintervenant.AutoCompleteSource = AutoCompleteSource.CustomSource; textfinduserintervenant.AutoCompleteCustomSource = danhsach; } private void user_Load(object sender, EventArgs e) { LoadDataToCollection(); }
le souci est que les deux codes ne fonctionnent pas ensemble cad a l'execution uniquement l'auto complete est realisé mais la fonction de recherche ne fonctionne pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 private void textfinduserintervenant_KeyPress(object sender, KeyPressEventArgs e) { if (e.KeyChar == (char)Keys.Enter) { if (textfinduserintervenant.Text == "") { MessageBox.Show("Vous devez saisir une matricule"); } else { SqlConnection conrechercheintervenant = new SqlConnection(@"Data Source=SEDKI-FAMILY\SEDKIPC;Initial Catalog=BASE_BT;Integrated Security=True"); DataTable dtintervenantfind = new DataTable(); SqlDataAdapter sda = new SqlDataAdapter("select * from INTERVENANT where MATR_INVT =" + int.Parse(textfinduserintervenant.Text), conrechercheintervenant); sda.Fill(dtintervenantfind); dataGridView1.DataSource = dtintervenantfind; } } }
un coup de main svp !
Partager