2010-07-15 7 views
0

J'ai databound certaines données à un DataGrid et je veux être en mesure de récupérer les données d'origine.Comment récupérer les données originales après leur databound?

J'ai databound les données comme suit dans une section de mon code. Lorsque j'ai cliqué sur un bouton, je veux être en mesure de faire des choses avec les éléments de la grille de données.

Comment, étant donné le DataGridForMyClass, puis-je récupérer la liste d'origine de MyClass?

Répondre

1

Vous ne pouvez pas le retirer de la grille. Vous devrez stocker les données quelque part (soit Session, Cache, soit ViewState) et récupérer le formulaire ici. Seuls les contrôles de base et leurs valeurs sont stockés dans la grille.

Par exemple, si vous affichez un DateTime dans une grille qui utilise un Label, le DateTime n'est pas stocké, juste la représentation du texte qui a été mis et a persisté par le Label est en fait dans la grille, vos données liées d'origine ne sont pas .

EDIT: A partir de votre commentaire, si vous souhaitez modifier des données dans la grille, vous devez afficher les données en arrière et utiliser l'événement RowCommand ou RowUpdating. Voir l'article suivant:

http://www.aspdotnetcodes.com/GridView_Insert_Edit_Update_Delete.aspx

+0

Alors, comment puis-je persévère les modifications apportées à ces articles, avec quelques modifications, de retour à la base de données? – mezoid

+0

@mezoid Si cette réponse vous a aidé à ne pas oublier de la marquer comme la réponse acceptée. Si vous avez besoin de plus d'aide, faites le moi savoir. – Kelsey

+0

J'ai fini par analyser les données des contrôles utilisateur dans un objet de transfert de données, puis d'utiliser cet objet pour récupérer les enregistrements de la base de données et mettre à jour les détails. Bien que votre réponse ne corresponde pas exactement à ce que j'ai fait, je suppose que cela m'a indiqué la direction de la solution choisie, donc je suppose que je peux la corriger. – mezoid

Questions connexes