ASP.net 2.0 Gridview avec rangées de panneaux extensibles & # 8212; Comment créer un panneau à la volée & # 8221;

StackOverflow https://stackoverflow.com/questions/306920

Question

Je suis en train de construire un Gridview qui a des lignes extensibles. Chaque ligne contient un panneau d'éléments de formulaire créé dynamiquement. Pour le moment, j’ai une fonction javascript qui élargit (ou, dans mon cas, la rend visible) le panneau lorsque l’on clique sur une image dans la ligne Gridview.

Ma question est la suivante: existe-t-il un moyen plus efficace de procéder? Au lieu d'extraire toutes mes données pour commencer et de créer chaque nouvelle ligne en tant qu'indicateur de données, existe-t-il un moyen de créer simplement la ligne avec le panneau plein de zones de texte et de listes déroulantes à la volée lorsque l'utilisateur clique sur le bouton Développer? & <; p>

J'aimerais limiter les appels au serveur en procédant de cette manière plutôt qu'en procédant comme suit: parcourir toutes les lignes, créer un nouveau panneau avec des éléments de formulaire et l'insérer dans une ligne masquée.

Était-ce utile?

La solution 4

En fait, cela a récemment été intégré dans un gestionnaire AJAX renvoyant la structure du formulaire. C'est à la demande, et fonctionne bien. Appelez simplement $ ajax via jQuery, renvoyez une structure HTML, injectez dans DIV. Cela limite un peu les fonctionnalités actuelles, alors faites attention.

Autres conseils

En fait, les performances ne sont pas mauvaises, car ma requête SQL d'origine peut remplir toutes les lignes et j'ai activé la pagination sur Gridview. Je me demande simplement si elles peuvent être construites à la volée en utilisant PageMethods ou une sorte de solution JSON / AJAX. Je n'ai rien vu, mais ... ça vaut la peine d'essayer de le chercher.

vous pouvez remplacer l'événement RowdataBound et ajouter les contrôles souhaités en fonction des données contenues dans la cellule.

http: // msdn .microsoft.com / fr-us / library / system.web.ui.webcontrols.gridview.rowdatabound.aspx

Si vous tentez personnellement de créer les données à la volée, l'expérience utilisateur sera probablement ralentie.

Lorsque je fais des choses comme ce que vous décrivez, j'utilise généralement des répéteurs. Ainsi, je peux créer une présentation de modèle qui définit simplement tous les éléments nécessaires immédiatement et gère les actions de liaison.

Sinon, j'imagine que votre façon de faire ne fonctionne pas trop lentement telle qu'elle est.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top