Meilleur auteur de réponses
Afficher des donnees d'une BDD Access dans TextBox

Question
-
Réponses
-
J'ai pris un peu de temps car je voulais vérifier une réponse.
Voici donc un petit exemple qui devrait te montrer comment "binder" ton textbox.
J'ai pris un form avec un combobox(combobox1) et 2 textbox (textbox1 et textbox2) puis dans le form load je mets ceci:
Code Snippetprivate void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Description"));
dt.Columns.Add(new DataColumn("Valeur"));
dt.Columns.Add(new DataColumn("Valeur2"));
dt.Columns.Add(new DataColumn("Valeur3"));DataRow r1 = dt.NewRow();
r1["Description"] = "1 mois";
r1["Valeur"] = "1";
r1["Valeur2"] = "1-1";
r1["Valeur3"] = "1-2";
dt.Rows.Add(r1);
DataRow r2 = dt.NewRow();
r2["Description"] = "6 mois";
r2["Valeur"] = "6";
r2["Valeur2"] = "6-1";
r2["Valeur3"] = "6-2";
dt.Rows.Add(r2);
DataRow r3 = dt.NewRow();
r3["Description"] = "2 ans";
r3["Valeur"] = "24";
r3["Valeur2"] = "24-1";
r3["Valeur3"] = "24-2";
dt.Rows.Add(r3);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Description";
comboBox1.ValueMember = "Valeur";
textBox1.DataBindings.Add("Text", dt, "Valeur2");
textBox2.DataBindings.Add("Text", dt, "Valeur3");
}Les 2 dernières lignes sont celles qui t'intéressent réellement. Je pense que tu ne devrais pas avoir de mal à partir de là d'adapter ton code.
bon databinding
Toutes les réponses
-
Tu ne donnes pas beaucoup d'infos.
Voici une façon de faire (si ça ne convient pas n'hésites pas à donner un peu plus de détails sur ton appli):
En utilisant le designer de visual tu sélectionnes ton objet puis dans les propriétés tu cherches (databindings), tu cliques sur (avancées) et tu auras un assistant pour t'aider à lier ta textbox. (note: le champ qui t'intéresse est le champ qu'il devrait te proposer par défaut à savoir text)
-
Salut "Radric" ,
je cherche pas a connecter mon TextBox a travers l'IDE , je veux ,si c'est possible , le code .
pour etre plus clair , ma table de la BDD contient plusieurs champs "Chapitre"........"PrixUnit".....
ma combo est connecté a "Chapitre" :
Code Snippetthis
.ComboBox.DisplayMember = "Chapitre"; this.ComboBox.ValueMember = "Chapitre";et je veux que en fonction de l'item selectionné je remplis mon TextBox par la valeur de "PrixUnit" correspondant .
re merci .
-
J'ai pris un peu de temps car je voulais vérifier une réponse.
Voici donc un petit exemple qui devrait te montrer comment "binder" ton textbox.
J'ai pris un form avec un combobox(combobox1) et 2 textbox (textbox1 et textbox2) puis dans le form load je mets ceci:
Code Snippetprivate void Form1_Load(object sender, EventArgs e)
{
DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Description"));
dt.Columns.Add(new DataColumn("Valeur"));
dt.Columns.Add(new DataColumn("Valeur2"));
dt.Columns.Add(new DataColumn("Valeur3"));DataRow r1 = dt.NewRow();
r1["Description"] = "1 mois";
r1["Valeur"] = "1";
r1["Valeur2"] = "1-1";
r1["Valeur3"] = "1-2";
dt.Rows.Add(r1);
DataRow r2 = dt.NewRow();
r2["Description"] = "6 mois";
r2["Valeur"] = "6";
r2["Valeur2"] = "6-1";
r2["Valeur3"] = "6-2";
dt.Rows.Add(r2);
DataRow r3 = dt.NewRow();
r3["Description"] = "2 ans";
r3["Valeur"] = "24";
r3["Valeur2"] = "24-1";
r3["Valeur3"] = "24-2";
dt.Rows.Add(r3);
comboBox1.DataSource = dt;
comboBox1.DisplayMember = "Description";
comboBox1.ValueMember = "Valeur";
textBox1.DataBindings.Add("Text", dt, "Valeur2");
textBox2.DataBindings.Add("Text", dt, "Valeur3");
}Les 2 dernières lignes sont celles qui t'intéressent réellement. Je pense que tu ne devrais pas avoir de mal à partir de là d'adapter ton code.
bon databinding
-
j'ai deja essayé ces lignes de codes , jai meme essayé
this.textBox1.DataBindings.Add(new System.Windows.Forms.Binding("Text",this.DTTableCHAP, "PrixUnit"));
mais cela me donne une erreur :Impossible d'effectuer une liaison à la propriété ou la colonne PrixUnit sur le DataSource.
Nom du paramètre : dataMembervoila tt mes lignes code , peut etre il y a une erreur :
Codeprivate
void frmDEVIS_Load(object sender, EventArgs e){
string SqlCHAP = "SELECT [CHAP].Chapitre FROM [CHAP]"; OleDbDataAdapter DTAdapterCHAP = new OleDbDataAdapter(this.SqlCHAP, this.Conn); try{
DTAdapterCHAP.Fill(
this.DTSetCHAP, "CHAP");}
catch{
MessageBox.Show("Une erreur est survenue"); this.Conn.Close(); this.Close();}
#endregion
this.DTTableCHAP = DTSetCHAP.Tables["CHAP"]; this.comboBox1.DataSource = this.DTTableCHAP; this.comboBox1.DisplayMember = "Chapitre"; this.comboBox1.ValueMember = "Chapitre"; this.comboBox1.Focus();}
pardon pour le derangement
-
j'ai trouvé le probleme , le probleme etait sur la requete , il faut selectionner le champ "PrixUnit" .
mais il y a un autre probleme , le code precedent me permet pas la mise a jour du TextBox .
j'ai meme essayé le code suivant avant le try mais ça n'a pas marché
Codetry
{
this.DTSetCHAP.Tables["CHAP"].Clear();}
catch{
}