Auteur de questions
Datagridview et textbox_TextChanged

Discussion générale
-
Bonjour,
C'est ma première fois de postuler ici.
Je suis un développeur junior .NET, actuellement je développement une application et la je suis bloqué pour un petit truc :)
En faite, j'ai un datagridview dont je fais la recherche avec un textbox. Ca marche très bien mais j'ai une colonne qui n'est pas affiché. Genre, j'ai le nom de produit qui affiche mais le code de produit n'affiche pas.
quelqu'un peut m'aider svp?
- Type modifié Nina ZaekovaMicrosoft contingent staff, Moderator vendredi 26 mai 2017 07:21
Toutes les réponses
-
Bonjour,
Avez-vous mis la propriété AutoGenerateColumns à true dans votre DatagridView?
Si c'est le cas, je vous propose de créer dynamiquement les colonnes de votre Datagridview, en mettant cette fois-ci la propriété AutoGenerateColumns à false et d'utiliser un code similaire à celui ci pour la création dynamique des colonnes :
// Prepare the DataViewGrid dataGridView1.Columns.Clear(); // Add each column to the grid according to the data table structure for (int i = 0; i < dataTable.Columns.Count; i++) { DataGridViewColumn dataGridViewColumn = new DataGridViewColumn(); DataGridViewCell dataGridViewCell = new DataGridViewTextBoxCell(); dataGridViewColumn.DataPropertyName = dataTable.Columns[i].ColumnName; dataGridViewColumn.HeaderText = dataTable.Columns[i].ColumnName; dataGridViewColumn.CellTemplate = dataGridViewCell; dataGridViewColumn.Name = dataTable.Columns[i].ColumnName; dataGridView1.Columns.Add(dataGridViewColumn); } // Set the DataSource for the binding bindingSource1.DataSource = dataTable; // Prevent unwanted columns autogeneration dataGridView1.AutoGenerateColumns = false; // Provide the binding to the DataGridView dataGridView1.DataSource = bindingSource1;
J'espère que j'ai bien répondu à votre question.
Si c'est le cas, n'hésitez pas à mettre ma réponse en réponse à votre post
Vous pouvez me suivre sur Twitter : https://twitter.com/NordineMhoumadiDownload my NEW FREE application MCP PREPARATION in the Windows 10 Store for preparing your Microsoft Certification or test your skills in Microsoft Technologies;
-
Bonjour,
Merci de m'avoir répondu. Je te trouve ton code intéressant si on souhaitait creer dynamiquement les colonnes mais la mon datagridview est crée avec un DATATABLE.
voila mon code:
private void textBoxToutesCommande_TextChanged(object sender, EventArgs e)
{
MyConnexionStringCLASS ConnexionDatagridview = new MyConnexionStringCLASS();
ConnexionDatagridview.Connexionstring();
MySqlAdapterNomAcheteure = new SqlDataAdapter("select * from COMMANDE where DESIGNATION like '%" + textBoxToutesCommande.Text.ToString() + "%' or NOM_ACHETEUR like '%" + textBoxToutesCommande.Text.ToString() + "%' or REFERENCE like '%" + textBoxToutesCommande.Text.ToString() + "%'", MyConnexionStringCLASS.CONN);
try
{
dt.Clear();
MySqlAdapterNomAcheteure.Fill(dt);
}
catch { }
}
J'ai des colonnes comme: code article, nom article, quantité, etc....
Toutes les données sont bien affiché avec datagridview quand je lance le programme.
si je fais la recherche, j'obtient le résultat sauf que la première cellule de la première colonne perd sa donnée mais les autres cellules et les autres colonnes gardent bien leur donnée.
J'espere que je me suis bien expliqué?
cordialement,
-
Pouvez-vous poster votre code autrement car sincèrement votre code est illisible. Vous êtes dans un fond d'écran noir et un gris foncé.
Pour mettre votre code dans le forum utilisez l'onglet "Insérez un block de code" dans l'éditeur du forum.
J'ai besoin du code de la méthode Text_Changed and de l'initialisation de votre datagridview avant d'effectuer une recherche pour pouvoir vous aider d'avantage.
Merci d'avance
Download my NEW FREE application MCP PREPARATION in the Windows 10 Store for preparing your Microsoft Certification or test your skills in Microsoft Technologies;
-
Bonjour,
Voila mes codes
private DataTable dt; private SqlDataAdapter MySqlAdapterNomAcheteure; private void ToutesLesCommandes_Load(object sender, EventArgs e) { MyConnexionStringCLASS ConnexionDatagridview = new MyConnexionStringCLASS(); ConnexionDatagridview.Connexionstring(); dt = new DataTable(); MySqlAdapterNomAcheteure = new SqlDataAdapter("select * from COMMANDE", MyConnexionStringCLASS.CONN); try { MySqlAdapterNomAcheteure.Fill(dt); dataGridViewToutesLesCommandes.DataSource = dt; } catch { } dataGridViewToutesLesCommandes.Columns["CommandeID"].Visible = false; }
private void textBoxToutesCommande_TextChanged(object sender, EventArgs e) { MyConnexionStringCLASS ConnexionDatagridview = new MyConnexionStringCLASS(); ConnexionDatagridview.Connexionstring(); MySqlAdapterNomAcheteure = new SqlDataAdapter("select * from COMMANDE where DESIGNATION like '%" + textBoxToutesCommande.Text.ToString() + "%' or NOM_ACHETEUR like '%" + textBoxToutesCommande.Text.ToString() + "%' or REFERENCE like '%" + textBoxToutesCommande.Text.ToString() + "%'", MyConnexionStringCLASS.CONN); try { dt.Clear(); MySqlAdapterNomAcheteure.Fill(dt); } catch { } }
-
Avez-vous vérifiez que ce n'est pas un soucis de données?? ==> Il se peut que le résultat de votre requête ne renvoie pas de valeur sur la première colonne.
Si toutes les valeurs s'affichent sauf celle de la première colonne et que vous avez également mis la propriété AutoGenerateColumns à true dans votre DatagridView dans ce cas voici un code à adapter pour la création dynamique des colonnes de votre datagridview via un datatable dans cet article : http://1bestcsharp.blogspot.fr/2014/12/c-how-to-bind-datagridview-with.html
J'espère que j'ai bien répondu à votre question.
Si c'est le cas, n'hésitez pas à mettre ma réponse en réponse à votre post
Vous pouvez me suivre sur Twitter : https://twitter.com/NordineMhoumadi
Download my NEW FREE application MCP PREPARATION in the Windows 10 Store for preparing your Microsoft Certification or test your skills in Microsoft Technologies;
- Modifié Nourdine MHOUMADI dimanche 7 mai 2017 12:26
-
Bonjour,
Toutes les données sont affichées quand je démarre le programme.
C'est quand je met une valeur textbox pour la recherche, la première cellule de la première colonne perd sa donnée. Mais je vais quand même revoir ma requête dans textbox_textboxchange.
Merci