Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

GridView avec checkbox

6 réponses
Avatar
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

6 réponses

Avatar
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
Avatar
Emilie
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" a écrit dans le message de news:

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


Avatar
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
Avatar
Emilie
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" a écrit dans le message de news:

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


Avatar
Jérémy Jeanson
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
Avatar
Jérémy Jeanson
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