Remplir DDl(DropDownList) [Résolu]

cs_sofiesofie 52 Messages postés dimanche 2 septembre 2007Date d'inscription 26 juin 2008 Dernière intervention - 24 mai 2008 à 10:53 - Dernière réponse : cs_sofiesofie 52 Messages postés dimanche 2 septembre 2007Date d'inscription 26 juin 2008 Dernière intervention
- 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
Afficher la suite 

Votre réponse

2 réponses

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

}
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de yann_lo_san
cs_sofiesofie 52 Messages postés dimanche 2 septembre 2007Date d'inscription 26 juin 2008 Dernière intervention - 25 mai 2008 à 10:44
0
Utile
bonjour,
merci mr j'ai appliqué la 1er méthode e ça marche tréééé bien;

merci pour codes-sources
Commenter la réponse de cs_sofiesofie

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.