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

Résolu
rom268 Messages postés 23 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 1 avril 2009 - 8 oct. 2007 à 10:58
cs_helvetica Messages postés 4 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 12 janvier 2010 - 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.

7 réponses

gldfdp Messages postés 90 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 21 février 2008
8 oct. 2007 à 15:39
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
3
develomouss Messages postés 1 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 8 octobre 2007 1
8 oct. 2007 à 15:49
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
1
rom268 Messages postés 23 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 1 avril 2009
9 oct. 2007 à 10:34
Merci les gars niquel tout marche !
Merci pour votre aide
0
rom268 Messages postés 23 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 1 avril 2009
9 oct. 2007 à 10:41
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
scar63 Messages postés 1 Date d'inscription vendredi 2 mars 2007 Statut Membre Dernière intervention 17 décembre 2007
17 déc. 2007 à 19:00
Merci sa fait des heures que je cherche tes un dieu
0
cs_wieme Messages postés 1 Date d'inscription mercredi 21 décembre 2005 Statut Membre Dernière intervention 25 juin 2009
25 juin 2009 à 12:37
Merci beaucoup
ça m'a beaucoup aidé
thanks
0
cs_helvetica Messages postés 4 Date d'inscription mardi 13 mars 2007 Statut Membre Dernière intervention 12 janvier 2010
23 nov. 2009 à 21:42
J'ai lu vos msg cela m'a aussi beaucoup aidé dans la résolution de mon problème.

Mille mercs,

Helvetica
0
Rejoignez-nous