Remplir DDl(DropDownList)

Résolu
cs_sofiesofie Messages postés 52 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 26 juin 2008 - 24 mai 2008 à 10:53
cs_sofiesofie Messages postés 52 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 26 juin 2008 - 25 mai 2008 à 10:44
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

yann_lo_san Messages postés 1137 Date d'inscription lundi 17 novembre 2003 Statut Membre Dernière intervention 23 janvier 2016 26
24 mai 2008 à 16:58
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() ) );

}
3
cs_sofiesofie Messages postés 52 Date d'inscription dimanche 2 septembre 2007 Statut Membre Dernière intervention 26 juin 2008
25 mai 2008 à 10:44
bonjour,
merci mr j'ai appliqué la 1er méthode e ça marche tréééé bien;

merci pour codes-sources
0
Rejoignez-nous