tikrimi
Messages postés192Date d'inscriptiondimanche 5 janvier 2003StatutMembreDernière intervention 9 mars 20071 1 déc. 2005 à 16:10
Bonjour,
A mon avis, tu fais fausse route.
Il faut récuppérer le numéro de ta ligne selectionnée dans ton datagrid, et à partir de ça tu peux retrouver les données dans la DataTable que tu as Bindée avec ta grille.
Voici un bout de code :
Private
Sub dtgCategorie_ItemCommand(
ByVal source
As
Object,
ByVal e
As System.Web.UI.WebControls.DataGridCommandEventArgs)
Handles dtgCategorie.ItemCommand
If e.CommandName = "Select"
Then
Dim viCatID
As
Integer
dtgCategorie.EditItemIndex = -1
dtgCategorie.SelectedIndex = e.Item.ItemIndex
viCatID = dtgCategorie.DataKeys.Item(dtgCategorie.SelectedIndex)
... à partir de la tu as tout ce qu'il te faut : le SelectedIndex et même ta clé primaire
End
If
End
Sub
Par contre, si tu es en édition (et pas en selection), alors là oui tu es sur la bonne voie... là tu peux utiliser FindControl car le controle que tu recherche va être unique
Dim vsTitre
As
String
vsTitre =
CType(e.Item.FindControl("txtNewsNew"), TextBox).Text
sorcier_sly
Messages postés53Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention27 février 2006 1 déc. 2005 à 16:37
Merci pour ton aide. J'ai mis le code que tu m'as donné à savoir :
If e.CommandName = "Select"
Then
Dim viCatID As
Integer
dtgCategorie.EditItemIndex = -1
dtgCategorie.SelectedIndex = e.Item.ItemIndex
viCatID = dtgCategorie.DataKeys.Item(dtgCategorie.SelectedIndex)
Simplement, j'ai une erreur qui s'affiche et je comprends pas trop pourquoi :
L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection. Nom du paramètre : index
sorcier_sly
Messages postés53Date d'inscriptionvendredi 26 mars 2004StatutMembreDernière intervention27 février 2006 1 déc. 2005 à 18:09
Ca y'est c'est bon ca marche ! Je n'avais pas defini de datakey !
Par contre j'ai un autre probleme. Dans ma datagrid, j'ai une imagebutton et je souhaiterais pouvoir modifier l'url dynamiquement lorsque l'on click sur une ligne de la datagrid.