Passage de paramètres datagrid => formulaire

Kati83 Messages postés 65 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 3 septembre 2004 - 2 avril 2004 à 09:01
PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 - 2 avril 2004 à 09:41
Bonjour à tous,

J'ai une datagrid qui affiche certaines des informations
de ma bd.
Elle contient aussi deux colonnes de boutons : supprimer et modifier.

Je voudrais qu'en cliquant sur modifier on aille sur une
page de formulaire de modification prenant en paramètre
l'id de la ligne. [ je sais que je peux modifier grâce au datagrid, mais mes infos sont trop volumineuses, donc il vaut mieux que je fasse les modifs via un formulaire]

Pour passer le paramètre, je fais :

Server.Transfer("http://monurl/MonForm.aspx?id="+Id);

et dans les propriétés de ma datagrid, je mets DataKeyField="Id"

Est-ce que j'ai utilisé la bonne méthode pour passer mon paramètre ?
Comment est-ce que je dois faire dans ma page de formulaire pour pouvoir récupérer et utiliser l'id de la ligne ?

Merci d'avance.

PS : dsl si je ne suis pas sur le bon forum, mais j'étais sur celui de c# et on m'a renvoyée ici...

*** Kati ***

1 réponse

PeTeRsLaStAr Messages postés 158 Date d'inscription samedi 22 juin 2002 Statut Membre Dernière intervention 27 juin 2015 1
2 avril 2004 à 09:41
Salut !
Alors voilà comment récupérer l'ID en cours.
Le code suivant te permet de récupérer l'ID de la ligne en cours.

Private Sub DataGrid1_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles DataGrid1.EditCommand
'-- récupère l'ID de la ligne
Dim intNoId = e.Item.ItemIndex
End Sub

Ensuite, si tu souhaites modifier les valeurs via le bouton modifier, tu dois faire la chose suivante: (enfin là, ça ne te montre que comment récupérer des valeurs.... Après moi dans mon code, je modifie via un update, et je reloade après...)

Dim txtCol1 as TextBox

txtCol1 = (CType(DataGrid1.Items(e.Item.ItemIndex).Cells(0).Controls(0), TextBox))
Response.write txtCol1.text

(Perso je récupère en Castant en TextBox... Je sais pas si c la solution "officielle", mais chez moi ça marche comme ça, alors...)

Voilà. ça répond à ta question ?

:)

****************************************************
Il n'y a pas de pb sans solutions : il faut juste trouver le temps pour les chercher
0
Rejoignez-nous