Remplir DDl(DropDownList) [Résolu]

Signaler
Messages postés
52
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
26 juin 2008
-
cs_sofiesofie
Messages postés
52
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
26 juin 2008
-
Bonjour,
j'ai une méthode dans un web service qui retourne une datatable;

res_hotel resa =
new
res_hotel(); //res_hotel est mon fichier de web service

DataTable aff = resa.affichage_dispo(
hotel, date_debut
, date_fin
);
ma question: comment je peux récupére les données de mes colonnes dans des DropDownList ?

les données du 1er colonne dans DDL 1;
les données du 2eme colonne dans DDL 2;
les données du 3eme colonne dans DDL 3;

je pense que la 1èr pas est de faire comme ça :  DDL1.DataSource = aff;

aprés j'ai aucune idée
merci pour votre collaboration

<!-- / message -->



merci pour codes-sources

2 réponses

Messages postés
1137
Date d'inscription
lundi 17 novembre 2003
Statut
Membre
Dernière intervention
23 janvier 2016
18
Salut,

Normalement on à une source de donnée par DropDownList avec une valeur et un texte.

Il faut définir les 2 propriétés : DataValueField et DataTextFiel de la DDL.

DDL1.DataSource = aff.DefaultView;

DDL1.DataTextField =  "DatTable textfield";

DDL1.DataValueField =  "DataTable valufield";

DDL1.DataBind();

Dans ton cas tu peux essayer de mettre valeur et text pour la même colonne :

DDL1.DataValueField = aff.Columns[0].Caption;
DDL1.DataTextField = aff.Columns[0].Caption;

DDL2.DataValueField = aff.Columns[1].Caption;
DDL2.DataTextField = aff.Columns[1].Caption;

DDL3.DataValueField = aff.Columns[2].Caption;
DDL3.DataTextField = aff.Columns[2].Caption;

Sinon il y a une autre solution qui est de remplir à la main les DDL  :
Tu fais un boucle sur les données et tu ajoutes un listItem de ce que tu veux :

for(int i=0;  i<aff.Rows.count; i++)
{

   DDL1.Items.Add( new ListItem( aff.Rows[i][0].ToString(), aff.Rows[i][0].ToString() ) );
   DDL2.Items.Add( new ListItem( aff.Rows[i][1].ToString(), aff.Rows[i][1].ToString() ) );
   DDL3.Items.Add( new ListItem( aff.Rows[i][2].ToString(), aff.Rows[i][2].ToString() ) );

}
Messages postés
52
Date d'inscription
dimanche 2 septembre 2007
Statut
Membre
Dernière intervention
26 juin 2008

bonjour,
merci mr j'ai appliqué la 1er méthode e ça marche tréééé bien;

merci pour codes-sources