Atteindre des Controls dans un Datagrid depuis le Code-Behind

azraeht Messages postés 18 Date d'inscription vendredi 29 août 2008 Statut Membre Dernière intervention 18 mai 2010 - 6 nov. 2009 à 09:52
yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014 - 6 nov. 2009 à 16:33
Salut!

Je cherche depuis 2 jours la solution à mon problème, mais en vain...

J'ai un dataGrid dans lequel j'ai placé des contrôles (textBox et DropDownList) dans le header. Ceci afin de permettre à l'utilisateur de filtrer son grid.
Le problème est que je ne sais pas comment récupérer les valeurs de chacun de ces contrôles.
Auriez-vous une idée?

Exemple de code de mon grid :

<HeaderTemplate>                

</HeaderTemplate>

'>





Merci

5 réponses

yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
6 nov. 2009 à 13:56
Bonjour

ça dépende à quel moment du life page cycle tu veux récupérer cette valeur.
tu peux passer par l'événement ItemDataBound en utilisant la méthode FindControl()

Label lblEmetteur = (Label)e.Item.FindControl("Emetteur");

voici un exemple qui peut t'aider.

Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)
0
azraeht Messages postés 18 Date d'inscription vendredi 29 août 2008 Statut Membre Dernière intervention 18 mai 2010
6 nov. 2009 à 15:19
En fait, c'est au moment ou l'utilisateur va modifier un des menus déroulants et déclencher l'événement OnSelectedIndexChanged d'un de mes DropDownList.

J'ai bien réussi à atteindre mes composants dans le ItemDataBound, mais pas depuis le OnSelectedIndexChanged.
0
yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
6 nov. 2009 à 15:59
Dans le SelectedIndexChanged tu peux récupérer la valeur de la dropdownlist

en utilisant cette ligne :

DropDownlist ddlEmetteur = sender as DropDownlist;
string selectedvalue = ddlEmetteur.SelectedValue;

et la tu peux rebinder ton datagrid en envoyant la requete avec le paramétre du filtre

Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)
0
azraeht Messages postés 18 Date d'inscription vendredi 29 août 2008 Statut Membre Dernière intervention 18 mai 2010
6 nov. 2009 à 16:19
Okay, merci beaucoup!

Et y aurait-il moyen d'atteindre les autres contrôles inclus dans mon header depuis cette même méthode SelectedIndexChanged ?
0

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

Posez votre question
yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
6 nov. 2009 à 16:33
Oui tu peux passer par le parent de la ddl en utilisant NaimingContainer :

DropDownlist ddlEmetteur = sender as DropDownlist;
control autrecontrol = ddlEmetteur.NaimingContainer.FindControl("id autrecontrol") as control



Les fins justifient les moyens_________________________________________________
Yassine BENNANI - Ingénieur en génie logiciel & multimédia (Consultant SI)
0
Rejoignez-nous