Je suis en train d'écrire un frontal prototype simple en utilisant un GridView qui est rempli via la fonction, plutôt que d'être lié directement à une source de données SqlServer.Comment supprimer une ligne d'un GridView en utilisant des données non visibles?
Je peux supprimer une ligne/enregistrement de grille/base de données sous-jacente Je suis actuellement
- Réglage de la AutoGenerateDeleteButton = true
- Affichage des ids d'enregistrement dans la première colonne
- Manipulation de l'événement RowDeleting
- obtention de l'identifiant en obtenant les grid.Rows [e.RowIndex] .Cells [idIndex] .Text
- passant par ce nombre à une fonction qui effectue la suppression
Cela semble fonctionner très bien, mais je préfère ne pas afficher les identifiants aux utilisateurs, car ils ne signifient rien pour eux.
J'ai essayé de définir la propriété Visible de la colonne id sur false, mais cela a provoqué l'étape 4 ci-dessus pour retourner une chaîne vide - et donc aucun enregistrement supprimé.
Alors, comment puis-je stocker le numéro d'id caché avec chaque ligne? Ou est-ce que je vais tout à fait dans le mauvais sens?
Suivre jusqu'à réponses: la manière
Merci pour les deux de DataKeyNames des réponses, a fini par aller Eric. Pour d'autres nouvelles à ASP.NET comme je suis, les étapes que j'utilise où
Entre les lignes où je mets la DataSource de grilles et appelai DataBind(), j'ajouté
grid.DataKeyNames = new string[] {"id"};
Ensuite, dans la fonction de gestion du RowDeleting je me suis prise de mon id en utilisant
grid.DataKeys[e.RowIndex].Value
Oui, DataKeys est le chemin à parcourir. – Kon