Proprité composant dans un datalist

tof.p Messages postés 31 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 6 mars 2006 - 25 nov. 2004 à 13:03
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 25 nov. 2004 à 16:07
Bonjour,
G un tit problème avec une datalist. Voici :
J'utilise la datalist de manière dynamique. C'est à dire que g créé différents ascx contenant le contenu du tag item template de ma datalist. En fonction de différents critères je charge l'asx correspondant.
Seulement voila, après ce chargement, je désire modifier la propriété "Visible" d'un label se trouvant dans ma datalist (le databind ayant été effectué. Je fais donc :
pour chaque item de ma data liste... si ***** alos ((Label)DataList.FindControl("MonLabel")).visible = false;

Ca me retourne tjs un null exception. Est-ce du au fait que la datalist se trouve ds un ascx et le template (chargé) dans un autre ? Pourtant, après le chargement, mon datalist ne contient-til pas le itemtemplate ?

Si quelqu'un a une idée... c assez urgent.
Merci d'avance.

Tof

3 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 nov. 2004 à 14:22
tu fais ca quand ? dans le page_load ? dans le page_init ? lors d'un click sur un bouton ?

et ton Label se trouve dans l'ascx ou directement dans le datalist.

si c'etait possible j'aimerais un bout de code si c'etait possible, juste pour savoir comment tu initialise ton datalist, et tu ajoutes tes UC etc... dedans car je pige pas pourquoi tu fais pas tout simplement monlabel.visible = false

Cyril
0
tof.p Messages postés 31 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 6 mars 2006
25 nov. 2004 à 15:55
Salut Cyril

Finalement g trouvé ce qui n'allait pas, une connerie. Le label est dans l'ascx, donc c ceci qu'il fallait entrer :
((Label)DataList.Items[i].controls[0].FindControl("MonLabel")).visible = false;
... ou un truc dans le genre.
Bref ca marche bien.
Merci pr ta réponse

Tof
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
25 nov. 2004 à 16:07
ok

sinon une autre solution que je trouverais plus propre (explication plus bas) serait de rajouter une propriété public dans ton UC (ascx) style

public property isLabelVisible() as boolean
get
return label.visible
end get
set (value as boolean)
label.visible = false
end set
end property

c'est du VB ma lange maternel :)

et c'est plus propre car si tu entre qqchose d'incorrect dans le findcontrol ==> BUG

mais je suis pas sur que ca fonctionne

Cyril

Si la reponse est ok, oublie pas de cliquer sur reponse accepter :)
0
Rejoignez-nous