Changer un textbox selon combobox

Fermé
Achemlal - Modifié par Achemlal le 7/10/2013 à 15:48
cysod1879 Messages postés 104 Date d'inscription mercredi 12 juin 2013 Statut Membre Dernière intervention 1 août 2015 - 19 déc. 2013 à 19:29
Bonjour,
j'ai un combobox qui contient des ID_GROSSISTE , et un textbox qui doit contenir des Nom_Grossiste
je veux que quand je selectionne un id_grossiste dans un combobox , le textbox affiche le nom_grossiste selon cet ID_grossiste
quand je selectionne un ID_GROSSISTE le textbox ne change pas .

private void comboBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
#region change txt
SqlConnection sSqlcon = new SqlConnection(System.Configuration.ConfigurationSettings.AppSettings["ConnectionString"]);
sSqlcon.Open();
string Req= "Select ID_Grossiste From grossiste where NOM_GROSSISTE = '"+comboBox1.SelectedItem+"'";
cmd = new SqlCommand(Req,sSqlcon);
SqlDataReader dr = cmd.ExecuteReader();


while (dr.Read())
{
if(comboBox1.Text!="TOUT")
{
textBox1.Text = dr["NOM_GROSSISTE"].ToString();
}
}
dr.Close();
sSqlcon.Close();
#endregion

}

comboBox1.Text!="TOUT" : "TOUT" je l'ai ajouté au combox pour que ça affiche tous les grossiste ..
A voir également:

6 réponses

le problème c'est que quand je selectionne un ID_GROSSISTE dans le combo , le textbox ne donne pas le nom_grossiste de cet ID :
exemple :
ID_GROSSISTE = 1 et NOM_GROSSISTE=A
je choisis 1 et ça me donne B ( le grossiste qui suit A)
et je vois que ce problème vient de
comboBox1.Items.Add("TOUT");
que j'ai ajouté au combobox c'est lui qui cause ce problème mais je ne sais pas comment le régler , voici comment j'ai remplie le combobox :



private void COMBO_Load(object sender, System.EventArgs e)

#region populate comboGro
string Req= "Select ID_Grossiste,NOM_Grossiste From grossiste";
dsMvtArticle = new DataSet();
SqlDaP11 = new SqlDataAdapter(Req,sqlConn1);

SqlDaP11.Fill(dsMvtArticle,"GROSSISTE");





DataRow[] drarray;
drarray = dsMvtArticle.Tables[0].Select();
if(drarray.Length>0)
{


comboBox1.Items.Add("TOUT");
for( int j=0; j<drarray.Length; j++)
{
comboBox1.Items.Add(drarray[j][0].ToString());
}

}
if(comboBox1.Items.Count>0)
{
comboBox1.SelectedIndex=0;
//comboRepartiteur.SelectedIndex=0;//.SelectedIndex=-1;


}
#endregion
}


quand je choisis TOUT , le textbox m'affiche le 1ér NOM_GROSSISTE , normalement c'est quand je choisis 1 (dans le combo) que le 1er NOM_GROSSISTE doit s'afficher ..
j'espère être claire.
MERCI
0
dodo7263 Messages postés 614 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 18
7 oct. 2013 à 15:06
Salut,

Ta requête ne devrait pas plutôt être :

"Select NOM_GROSSISTE From grossiste where ID_Grossiste = '"+comboBox1.SelectedItem+"'";

@++
0
oui pareil je peux enlever NOM_GOSSISTE mais ça ne résous pas mon problème
0
le problème vient de la ligne comboBox1.Items.Add("TOUT");
que j'ai ajouté , elle prend prend le 1er index du combobox à la place de 0

combobox contient :
TOUT
0
1
2
3
4
5
6
.....

je dois avoir A (dans le textbox) quand je selectionne 0 , et B pour 1 , et C pour 2
mais là quand j choisis 0 le textbox affiche B , et 1 pour C ... et pour "TOUT" le textbox affiche A
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dodo7263 Messages postés 614 Date d'inscription mercredi 10 septembre 2008 Statut Membre Dernière intervention 9 février 2017 18
7 oct. 2013 à 16:19
Pourquoi tu n'utilises pas le databinding du genre :

TextBox1.DataBindings.Add("Text", combobox1, "SelectedItem");

Comme ça quand la valeur du combo change celle du textbox aussi

@++
0
deja la valeur de textbox change quand je selectionne dans le combobox
0
cysod1879 Messages postés 104 Date d'inscription mercredi 12 juin 2013 Statut Membre Dernière intervention 1 août 2015 1
19 déc. 2013 à 19:29
Voici une video qui explique simplement ce que tu cherche :)
https://www.youtube.com/watch?v=MGiYI9nDFt0
0