GridView avec checkbox

Le
Emilie
Bonjour
dans une appli asp.net (Vb) j'ai un gidview avec des chechbox pour supprimer
des lignes, et un bouton supprimer
quand je coche une checkbox et clic sur mon bouton la ligne n'est pas
supprimée, pouvez-vous me dire ou est l'erreur

Sub SupProd_click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim rep As String = "OK pour supprimer"

Dim IDarticle As String = ""

For i As Integer = 0 To GdvPanier.Rows.Count - 1

Dim row As GridViewRow = GdvPanier.Rows(i)

Dim isChecked As Boolean =
DirectCast(row.FindControl("chkSupprimer"), CheckBox).Checked

If isChecked Then

IDarticle += GdvPanier.Rows(i).Cells(0).Text

Session("RefSup") = IDarticle

Me.SupprimerArticle( _

Me.GdvPanier.DataKeys(row.RowIndex).Value)

End If

Next

End Sub

Public Sub SupprimerArticle(ByVal IDarticle As String)

If Selection.ContainsValue(IDarticle) Then

Selection.Remove(IDarticle)

End If

End Sub


Merci pour vos réponses
Emilie
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jérémy Jeanson
Le #18992251
Bonjour Emilie,

As tu penser à faire un petit DataBind de ta grille après suppression
d'un enregistrement dans ta liste "Selection"?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Emilie
Le #18992911
Quand j'ajoute gdvPanier.Databind() il ne se passe rien

Par contre si j'ajoute une procedure supprime() pour supprimer l'article
dans la table Access

et que je teste l'appli, j'ai le message d'erreur sur la ligne : Dim row As
GridViewRow = GdvPanier.Rows(i)

l'index était hors limites, il ne doit pas etre négatif et doit etre
inferieur à la taille de la collection

sur cette erreur l'index est egal à 1

Emilie
"Jérémy Jeanson"
Bonjour Emilie,

As tu penser à faire un petit DataBind de ta grille après suppression d'un
enregistrement dans ta liste "Selection"?
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Jérémy Jeanson
Le #18993431
Bonjour Emilie,

Quand je parlais de DataBind je pensais à recharger les données au
passage. Pour tes modification soit prise en compte comme source de
données de ton gridview.

gdvPanier.DataSource = Selection
gdvPanier.Databind()

Pour ton accès à la collection Rows, fait attention, les gridview n'ont
pas de rows avant databound. Cela peut sembler un peu étrange comme ça,
mais il faut toujours travailler avec la donnée sous-jacente (donnée que
tu as dans ton datasource ou via les datakeys).

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Emilie
Le #18993501
Où je place Ces deux lignes de code ?

Et coment je peux supprimer les articles dans la table ?, il faut que
j'écrive une autre procédure
Emilie
"Jérémy Jeanson"
Bonjour Emilie,

Quand je parlais de DataBind je pensais à recharger les données au
passage. Pour tes modification soit prise en compte comme source de
données de ton gridview.

gdvPanier.DataSource = Selection
gdvPanier.Databind()

Pour ton accès à la collection Rows, fait attention, les gridview n'ont
pas de rows avant databound. Cela peut sembler un peu étrange comme ça,
mais il faut toujours travailler avec la donnée sous-jacente (donnée que
tu as dans ton datasource ou via les datakeys).

--
Jérémy JEANSON
MCP
http://www.jjeanson.fr


Jérémy Jeanson
Le #18994441
Re,

Fais un test dans :

Sub SupProd_click(ByVal sender As Object, ByVal e As System.EventArgs)

Dim rep As String = "OK pour supprimer"

Dim IDarticle As String = ""

For i As Integer = 0 To GdvPanier.Rows.Count - 1

Dim row As GridViewRow = GdvPanier.Rows(i)

Dim isChecked As Boolean DirectCast(row.FindControl("chkSupprimer"), CheckBox).Checked

If isChecked Then

IDarticle += GdvPanier.Rows(i).Cells(0).Text

Session("RefSup") = IDarticle

Me.SupprimerArticle( _

Me.GdvPanier.DataKeys(row.RowIndex).Value)

End If

Next

' DataBind
gdvPanier.DataSource = Selection
gdvPanier.Databind()
End Sub

Cela devrait suffire, aucun besoin de toucher au gridview par la suite.
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Jérémy Jeanson
Le #18995041
Bonjour Emilie,

Suite à nos échange par mail, je t'ai fais un petit mail en direct pour
clarifier un peu ce que je te propose comme solution.

à toi de jouer ;)
--
Jérémy JEANSON
MCP
http://www.jjeanson.fr
Publicité
Poster une réponse
Anonyme