Récupération du contenu d'une ligne selectionné d'un Datagrig
2 réponses
Stef
Bonjour,
J'ai un DataGrid relié à une DataTable d'un DataSet, et je souhaite
récupérer le contenu des différentes colonnes de la lignes sélectionnée.
Faut-il récupérer le contenu par l'intermédiaire du Datagrid, ou bien le
fait de sélectionner une ligne, fait bouger un pointeur sur la DataTable, et
dans ce cas, récupérer les valeurs de la ligne pointée?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Zoury
Salut Stef ! :O)
Essai quelque chose comme ceci (non testé) : '*** ' Note que Datagrid1.DataSource peut aussi contenir un DataSet... ' dans ce cas tu ferais : ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataSet).Tables(0).Rows.Count - 1 ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataTable).Rows.Count - 1
If (Datagrid1.IsSelected(i)) Then
' mettre ton code ici
End If
Next i '***
-- Cordialement Yanick MVP pour Visual Basic
Salut Stef ! :O)
Essai quelque chose comme ceci (non testé) :
'***
' Note que Datagrid1.DataSource peut aussi contenir un DataSet...
' dans ce cas tu ferais :
' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource,
DataSet).Tables(0).Rows.Count - 1
'
For i As Int32 = 0 To DirectCast(Datagrid1.DataSource,
DataTable).Rows.Count - 1
Essai quelque chose comme ceci (non testé) : '*** ' Note que Datagrid1.DataSource peut aussi contenir un DataSet... ' dans ce cas tu ferais : ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataSet).Tables(0).Rows.Count - 1 ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataTable).Rows.Count - 1
If (Datagrid1.IsSelected(i)) Then
' mettre ton code ici
End If
Next i '***
-- Cordialement Yanick MVP pour Visual Basic
Stef
Merci Yanick,
entre temps j'ai cherché et trouvé la solution suivante Dim CompteSelectionne As String = (CType(Me.BindingContext(SelectionCompte.DGComptes.DataSource).Current(), DataRowView).Item("Cpt_Num"))
Ca marche, bien que je ne comprenne pas trop le fonctionnement...
Maintenant je galère avec un "Windows Control Library" il marche, mais dès que je l'insère dans une page ASP, il n'apparait pas, y'a-il des restriction à ce sujet???
Amicalement
Stef
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news:
Salut Stef ! :O)
Essai quelque chose comme ceci (non testé) : '*** ' Note que Datagrid1.DataSource peut aussi contenir un DataSet... ' dans ce cas tu ferais : ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataSet).Tables(0).Rows.Count - 1 ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataTable).Rows.Count - 1
If (Datagrid1.IsSelected(i)) Then
' mettre ton code ici
End If
Next i '***
-- Cordialement Yanick MVP pour Visual Basic
Merci Yanick,
entre temps j'ai cherché et trouvé la solution suivante
Dim CompteSelectionne As String =
(CType(Me.BindingContext(SelectionCompte.DGComptes.DataSource).Current(),
DataRowView).Item("Cpt_Num"))
Ca marche, bien que je ne comprenne pas trop le fonctionnement...
Maintenant je galère avec un "Windows Control Library" il marche, mais dès
que je l'insère dans une page ASP, il n'apparait pas, y'a-il des restriction
à ce sujet???
Amicalement
Stef
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de
news: OI4aMNiEGHA.2912@tk2msftngp13.phx.gbl...
Salut Stef ! :O)
Essai quelque chose comme ceci (non testé) :
'***
' Note que Datagrid1.DataSource peut aussi contenir un DataSet...
' dans ce cas tu ferais :
' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource,
DataSet).Tables(0).Rows.Count - 1
'
For i As Int32 = 0 To DirectCast(Datagrid1.DataSource,
DataTable).Rows.Count - 1
entre temps j'ai cherché et trouvé la solution suivante Dim CompteSelectionne As String = (CType(Me.BindingContext(SelectionCompte.DGComptes.DataSource).Current(), DataRowView).Item("Cpt_Num"))
Ca marche, bien que je ne comprenne pas trop le fonctionnement...
Maintenant je galère avec un "Windows Control Library" il marche, mais dès que je l'insère dans une page ASP, il n'apparait pas, y'a-il des restriction à ce sujet???
Amicalement
Stef
"Zoury" <yanick_lefebvre at hotmail dot com> a écrit dans le message de news:
Salut Stef ! :O)
Essai quelque chose comme ceci (non testé) : '*** ' Note que Datagrid1.DataSource peut aussi contenir un DataSet... ' dans ce cas tu ferais : ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataSet).Tables(0).Rows.Count - 1 ' For i As Int32 = 0 To DirectCast(Datagrid1.DataSource, DataTable).Rows.Count - 1