Treeview cases à cocher + demande d'avis

cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 12 janv. 2006 à 18:28
cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 - 12 janv. 2006 à 19:00
Bonjour à tous,
J'ai un treeview qui possède des case à cocher et j'ai deux TreeNode en public et je dois faire en sorte que quand on coche une case du treeview treenode1 la case que l'on vient de cocher. Si l'on coche une deuxième case à cocher treenode2 la case que l'on vient de cocher et si l'on cocher une troisieme case à cocher treenode2 = la case que l'on vient de cocher et la case cocher precedemment se decoche d'elle même. Ainsi on a tjs maximum 2 items de cochés. Donc j'ai fais ce code qui marche, je l'ais retranscris en c# alors j'ai peut être oublié un -> qui trainait.

Dans cet exemple treenode1 et treenode2 = n1 et n2 et ce code est a placé dans l'evenement "trvTreeview_BeforeCheck". get_nb_case_cocher_treeview() renvoi le nombre de case à cocher dans le treeview.
Donc ma question est que pensez vous de ce code est y'a t'il moyen de l'ameliorer ? car ca m'a l'air un peut archaique cette méthode.

Par avance, merci.

switch (get_nb_case_cocher_treeview())
{
case 0 : if (e.get_Node().Checked == false)
{
n1= e.get_Node() ;
n2 = 0 ;
}
else
{
n1 = 0 ;
n2 = 0 ;
}
break ;
case 1 :
if (e.get_Node().Checked == false)
n2= e.get_Node() ;
else
n1 = 0 ;
break ;

case 2 : if (e.get_Node().Checked == false)
{
n2.Checked = false ;
n2 = e.get_Node() ;
}
else
{
n2 = 0 ;
}
break ;
default : if (e.get_Node().Checked == false)
e.Cancel = true ;
break ;
}

1 réponse

cs_emmanuel9 Messages postés 903 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 16 juin 2010 2
12 janv. 2006 à 19:00
je viens de m'apercevoir qu'il y a un bug à ce niveau là : je vais chercher

case 2 : if (e.get_Node().Checked == false)
{
n2.Checked = false ;
n2 = e.get_Node() ;
}
else
{
n2 = 0 ;
}
0
Rejoignez-nous