J'ai une grille de données dans laquelle chaque ligne contient des informations sur les employés d'une entreprise. Je voudrais autoriser chaque rangée à afficher/masquer des informations supplémentaires. Ma première idée était d'utiliser la CollapsiblePanelExtender de la boîte à outils AJAX et ont chaque ligne comme celui-ci:ASP.NET Afficher/Masquer les sections dans une ligne Datagrid
<ajaxtoolkit:collapsiblepanelextender
TargetControlID="panel2">
ExpandControlID="LinkButton1"
CollapseControlID="LinkButton1">
</ajaxtoolkit:collapsiblepanelextender>
<asp:panel>
FirstName | LastName | Phone | Email
<LinkButton1> <- this hides/show extra info in panel2
</asp:panel>
<asp:panel2>
<textbox ="FirstName">
<textbox ="LastName">
<textbox ="EmailName">
...
...lots of textboxes where information is assigned from the database.
</asp:panel2>
Cela fonctionne très bien, mais il peut être coûteux informatiquement. Le panneau d'information supplémentaire contient beaucoup de zones de texte/étiquettes, dont toutes les valeurs proviennent de la base de données. Chaque fois que la page charge toutes les données de la base de données, une partie est cachée.
Existe-t-il un meilleur moyen d'atteindre mon objectif? Ou y a-t-il un moyen de ne charger que les détails supplémentaires des employés lorsque le bouton Afficher/Masquer est cliqué?
Merci d'avance!
Merci Claudia, Votre façon est un moyen plus facile et propably mieux d'atteindre l'objectif. Mais j'espérais permettre l'édition/visualisation en place sans popups, etc. J'ai utilisé votre modèle pour afficher/masquer un panneau dans chaque rangée, cela fonctionne mais est très maladroit. Est-ce que quelqu'un d'autre a eu une meilleure idée ou est-ce que je ferais mieux de descendre la route du Modal Popup? –
En fin de compte, je suis allé avec le ModalPopupExtender, c'est beaucoup plus facile et vous avez plus de contrôle dessus. Merci Claudia de le suggérer. –
Vous êtes les bienvenus. Heureux d'aider. – Claudia