J'ai une application ASP.NET qui affiche diverses vues dans une base de données de séquences de protéines. En tant que visiteur navigue les données, je voudrais qu'ils puissent sélectionner un CheckBox dans la rangée GridView pour marquer des séquences pour le télécharger plus tard comme un fichier texte compressé. Je ne veux pas stocker les sélections, elles devraient donc être valides pour la session.Ajouter une colonne CheckBox à un GridView avec persistance
Mon idée en ce moment est d'ajouter un TemplateField à la GridView et ensuite ajouter un CheckBox à cela. J'ai l'intention de gérer les événements de vérification et de stocker les ID de séquence dans l'état de la session. Lorsque l'utilisateur se dirige vers la page de téléchargement, j'obtiens les données de la session, affiche la liste des séquences qu'il est sur le point de télécharger, puis envoie le fichier. Évidemment, je vais aussi devoir refaire les données de session sur chaque changement de formulaire/changement de page.
J'ai donc fait quelques questions à ce sujet:
1) que je fais trop de travail? Existe-t-il un moyen plus simple de mettre en œuvre cela?
2) Tous les allers-retours vers le serveur pour l'état de la session sont-ils susceptibles d'être un problème de performance? Je peux mettre un bouton «Enregistrer pour téléchargement» sur la page pour le lot pour aider les choses. La gestion des événements de vérification semble juste plus tolérante aux erreurs puisque vous ne pouvez pas perdre accidentellement votre état si vous vous éloignez.
3) Est-il possible de trier le GridView par la colonne case cochée? Je voudrais trier d'abord la colonne case cochée puis la colonne actuellement triée (par exemple, si le GridView est trié par nom de famille, tri par la colonne de vérification, puis par nom de famille). Dans le cas où cela est important, j'utilise C#, .NET 3.5, VS2008 et j'utilise la méthode simple de glisser-déposer pour créer une GridView à partir d'une table SQLServerExpress.
DataGridView est uniquement Windows Forms. System.Web.UI.WebControls a seulement le DataGrid et le GridView. –