Datagrid + checboxes + propagation d'evenements...

Totoyaya Messages postés 2 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 28 août 2005 - 16 août 2005 à 15:20
Totoyaya Messages postés 2 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 28 août 2005 - 28 août 2005 à 11:01
Bonjour,



La situation :



C#, Asp.net



Une datagrid contenant 2 colonnes modèles.

Les colonnes modèles contiennent chacune 2 checkboxes (l'une correspondant à 'read', l'autre correspondant à 'write').

J'aimerai que lorsque je coche une checkbox de la 1ere colonne modele,
la checkbox correspondante dans la 2eme colonne modele se coche
automatiquement.



Ce que j'ai fait :

1)code HTML d'un checkbox





2)Dans la methode ItemDataBound de ma datagrid :

CheckBox cbAllCR = ((CheckBox)e.Item.FindControl("cbAllClientsR"));

cbAllCR.Checked = (bool)row["TOTO"];

cbAllCR.CheckedChanged += new EventHandler(cbAllCR_CheckedChanged);



3) une nouvelle methode appelee

private void cbAllCR_CheckedChanged(object sender, EventArgs e)



Le probleme :

Pas de propagation de cet evenement lorsque je coche la checkbox... je ne passe jamais dans la methode cbAllCR_CheckedChanged



J'ai auparavent utiliser des boutons qui etaient les enfants dans la
datagrid, le champs CommandName m'a permis de recuperer le clic sur ce
bouton... mais avec les checkboxes ?!?





Merci de vos reponses

3 réponses

sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
16 août 2005 à 15:46
tu devrais plutot t'adresser au forum http://www.aspfr.com


<HR>
Sébastien FERRAND

Blog : http://blogs.developpeur.org/sebmafate
0
titeoe Messages postés 433 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 4 décembre 2009 1
17 août 2005 à 09:17
Bonjour,

La méthode ItemCommand de ton datagrid va intercepter l'evenement de ton checkbox si tu as mis l'attribut command="blabla" dans la balise de ton checkbox de ta page ASPX.

Pour savoir de quelle commande il s'agit tu fais :

Datagrid1_ItemCommand(....)
{
switch (e.commandname.toupper() )
{
case "blabla" :
// écris le code de cochage de l'autre checkbox
break ;
}
}

Je ne me souviens plus de la syntaxe exacte mais dans mes lointains souvennirs ca ressemble a cela.
0
Totoyaya Messages postés 2 Date d'inscription vendredi 23 juillet 2004 Statut Membre Dernière intervention 28 août 2005
28 août 2005 à 11:01
Merci pour ta reponse.

Mais le probleme venait du fait que l'abonnement d'un controle a un evenement dans le cas de la datagrid doit se faire dans la methode ItemCreated et pas dans le ItemDataBound.

J'avais deja specifie le commandName.
0
Rejoignez-nous