Récupérer la valeur d'un champ avec GridView [Résolu]

rom268 23 Messages postés lundi 8 octobre 2007Date d'inscription 1 avril 2009 Dernière intervention - 8 oct. 2007 à 10:58 - Dernière réponse : cs_helvetica 4 Messages postés mardi 13 mars 2007Date d'inscription 12 janvier 2010 Dernière intervention
- 23 nov. 2009 à 21:42
Bonjour, j'ai un énorme probléme !
Pour faire simple j'ai un tableur GridView en relation avec une base de donnée, avec 3 champs. Un pour le nom, un pour la suppression et un pour l'affichage de détails.
Mon probléme réside dans l'affichage des détails. Je n'arrive pas à récupérer la valeur de la ligne selecetionné. En fait il faut que je récupérer un ID qui provient de ma base de donnée afin d'afficher les infos correspondant à cet ID.
Et je sais pas comment faire !

PS : Dans mon tableau je récupére un nom et un ID ( que je n'affiche pas...)

Merci pour votre aide ! si aide il y a.
Afficher la suite 

7 réponses

Répondre au sujet
gldfdp 91 Messages postés lundi 30 juin 2003Date d'inscription 21 février 2008 Dernière intervention - 8 oct. 2007 à 15:39
+3
Utile
Tu renseignes le champ DataKeyNames de ta GridView puis pour récupérer l'id séléctionné tu mets taGridview.SelectedDataKey.Value

-- Grégoire
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de gldfdp
develomouss 1 Messages postés jeudi 12 janvier 2006Date d'inscription 8 octobre 2007 Dernière intervention - 8 oct. 2007 à 15:49
+3
Utile
Salut
rom268,

pour sélectionner l'ID dont tu as besoin il faut soit qu'il soit present dans la gridview (pas forcement visible mais present) ou alors faire une requete sur ta BDD pour aller le chercher par rapport au nom sélectionné ce qui n'as pas de sens si ta base est comme je le pense (possibilités de plusieurs ID pour un nom??).

1ere Solution :


Pour cela tu dois utiliser la propriété DataKeyNames et lui assigner la valeur ID de ta base de données.
Ainsi tu peux acceder a la valeur courante sélectionnée par : MonGridView.SelectedValue.

2eme Solution : tu n'utilise pas DataKeyNames et il faut aller chercher ce dont tu as besoin la ou ils sont dans tes lignes de gridview
Tu peux acceder a la ligne courante grace a la propriété SelectedRow de ton gridview et sélectionner la colonne qui contient ton ID.
Comme un exemple est toujours plus simple a comprendre en voici un en C#:

En imaginant que tu ai une colonne qui representant l'ID dans ton GridView et que cette colonne soit la premiere apres le lien de selection.


//Prend la selection actuelle du gv









GridViewRow
row = gv.SelectedRow;
//Affiche l'ID par rapport a la ligne sélectionnée dans un label : Label1

//Le gridview commence ses colonnes a 1.
Label1.Text =
"ID Sélectionné :  " + row.Cells[1].Text
;

Voilou en esperant m'etre bien exprimer et bon courage.

Ps: tu peux aller voir ici pour de plus amples informations : http://msdn2.microsoft.com/fr-fr/library/system.web.ui.webcontrols.gridviewrow(VS.80).aspx

develomouss
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de develomouss
rom268 23 Messages postés lundi 8 octobre 2007Date d'inscription 1 avril 2009 Dernière intervention - 9 oct. 2007 à 10:34
0
Utile
Merci les gars niquel tout marche !
Merci pour votre aide
Commenter la réponse de rom268
rom268 23 Messages postés lundi 8 octobre 2007Date d'inscription 1 avril 2009 Dernière intervention - 9 oct. 2007 à 10:41
0
Utile
petite précision quand même j'ai essayé aussi la 2eme solution de develomouss, sauf que je suis en Vb.
Du coup la premiére ligne ne marche pas et je la comprend pas dc je ne sais pas comment la transposé en Vb
Commenter la réponse de rom268
scar63 1 Messages postés vendredi 2 mars 2007Date d'inscription 17 décembre 2007 Dernière intervention - 17 déc. 2007 à 19:00
0
Utile
Merci sa fait des heures que je cherche tes un dieu
Commenter la réponse de scar63
cs_wieme 1 Messages postés mercredi 21 décembre 2005Date d'inscription 25 juin 2009 Dernière intervention - 25 juin 2009 à 12:37
0
Utile
Merci beaucoup
ça m'a beaucoup aidé
thanks
Commenter la réponse de cs_wieme
cs_helvetica 4 Messages postés mardi 13 mars 2007Date d'inscription 12 janvier 2010 Dernière intervention - 23 nov. 2009 à 21:42
0
Utile
J'ai lu vos msg cela m'a aussi beaucoup aidé dans la résolution de mon problème.

Mille mercs,

Helvetica
Commenter la réponse de cs_helvetica

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.