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

Signaler
Messages postés
23
Date d'inscription
lundi 8 octobre 2007
Statut
Membre
Dernière intervention
1 avril 2009
-
Messages postés
4
Date d'inscription
mardi 13 mars 2007
Statut
Membre
Dernière intervention
12 janvier 2010
-
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.

7 réponses

Messages postés
91
Date d'inscription
lundi 30 juin 2003
Statut
Membre
Dernière intervention
21 février 2008

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
Messages postés
1
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
8 octobre 2007
1
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
Messages postés
23
Date d'inscription
lundi 8 octobre 2007
Statut
Membre
Dernière intervention
1 avril 2009

Merci les gars niquel tout marche !
Merci pour votre aide
Messages postés
23
Date d'inscription
lundi 8 octobre 2007
Statut
Membre
Dernière intervention
1 avril 2009

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
Messages postés
1
Date d'inscription
vendredi 2 mars 2007
Statut
Membre
Dernière intervention
17 décembre 2007

Merci sa fait des heures que je cherche tes un dieu
Messages postés
1
Date d'inscription
mercredi 21 décembre 2005
Statut
Membre
Dernière intervention
25 juin 2009

Merci beaucoup
ça m'a beaucoup aidé
thanks
Messages postés
4
Date d'inscription
mardi 13 mars 2007
Statut
Membre
Dernière intervention
12 janvier 2010

J'ai lu vos msg cela m'a aussi beaucoup aidé dans la résolution de mon problème.

Mille mercs,

Helvetica