Question

Je travaille sur un formulaire qui affiche des liens pour ouvrir différents types de rapports. Ce système ayant différents types d’utilisateurs, ceux-ci ne doivent voir que les liens vers les types de rapports auxquels ils peuvent accéder.

Actuellement, ma configuration est la suivante: j'ai une liste ArrayList de LinkLabels, mais mon problème est de savoir comment créer un événement LinkClicked pour chaque LinkLabel de la liste ArrayList, de manière à afficher un formulaire spécifique. à chaque rapport.

Était-ce utile?

La solution

Vous pouvez appliquer le même gestionnaire d'événements à chaque LinkLabel de votre liste et obtenir le LinkLabel spécifique à partir de l'argument d'expéditeur.

Autres conseils

En fait, j'aurais un seul gestionnaire d'événements pour toutes les étiquettes de liens (ajoutez-le pendant le processus de liaison de données de ArrayList) avec le nom du rapport à charger dans l'étiquette CommandName du LinkLabel. Lorsque le gestionnaire d’événements se déclenche, vous devez vérifier l’attribut CommandName et activer la fonctionnalité appropriée pour charger le rapport donné.

Recommandons définitivement un seul gestionnaire d’événements pour toutes les instances dynamiques de LinkLabel.

J'utilise généralement une table de hachage où la clé est l'instance LinkLabel et la valeur est un élément qui sera utilisé dans l'événement click (tel que l'instance de rapport, le cas échéant).

Ensuite, dans l'événement click que vous utilisez (par exemple)

Report r = m_TheTable[sender] as Report;
if( r != null ) r.DoSomething();
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top