Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si une
entrée y a été supprimée précédemment (mais ce n'est pas la MEME ce'est
juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si une
entrée y a été supprimée précédemment (mais ce n'est pas la MEME ce'est
juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si une
entrée y a été supprimée précédemment (mais ce n'est pas la MEME ce'est
juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si une
entrée y a été supprimée précédemment (mais ce n'est pas la MEME ce'est
juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si une
entrée y a été supprimée précédemment (mais ce n'est pas la MEME ce'est
juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si une
entrée y a été supprimée précédemment (mais ce n'est pas la MEME ce'est
juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Au temps pour moi je parlais de la HashTable "Selection". Je pense qu'elle
pourrait être recréée avec la ligne détruite lors du "postback" qui suit
le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si
une entrée y a été supprimée précédemment (mais ce n'est pas la MEME
ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Au temps pour moi je parlais de la HashTable "Selection". Je pense qu'elle
pourrait être recréée avec la ligne détruite lors du "postback" qui suit
le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47fe315b$0$874$ba4acef3@news.orange.fr...
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si
une entrée y a été supprimée précédemment (mais ce n'est pas la MEME
ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Au temps pour moi je parlais de la HashTable "Selection". Je pense qu'elle
pourrait être recréée avec la ligne détruite lors du "postback" qui suit
le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si
une entrée y a été supprimée précédemment (mais ce n'est pas la MEME
ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal à
la ligne 2, ce qui correspond au produit IDproduit=3, le If ............
saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si
une entrée y a été supprimée précédemment (mais ce n'est pas la MEME
ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal à
la ligne 2, ce qui correspond au produit IDproduit=3, le If ............
saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23bt2D6ymIHA.2268@TK2MSFTNGP02.phx.gbl...
Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47fe315b$0$874$ba4acef3@news.orange.fr...
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si
une entrée y a été supprimée précédemment (mais ce n'est pas la MEME
ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal à
la ligne 2, ce qui correspond au produit IDproduit=3, le If ............
saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si la
hastable selection est crée à partir de données présentes en base elle
sera recrée lors du prochain postback avec toutes ses données même si
une entrée y a été supprimée précédemment (mais ce n'est pas la MEME
ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access) une
liste de produits avec des checkbox pour pouvoir supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de 0
à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal à
la ligne 2, ce qui correspond au produit IDproduit=3, le If ............
saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de 0
à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47ff0984$0$884$ba4acef3@news.orange.fr...
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal à
la ligne 2, ce qui correspond au produit IDproduit=3, le If ............
saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23bt2D6ymIHA.2268@TK2MSFTNGP02.phx.gbl...
Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47fe315b$0$874$ba4acef3@news.orange.fr...
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de 0
à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal à
la ligne 2, ce qui correspond au produit IDproduit=3, le If ............
saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne (Row.RowIndex).value,
dans la procédure du bouton ibMaj_click (et cela donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de 0
à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure
:
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal
à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup
d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne (Row.RowIndex).value,
dans la procédure du bouton ibMaj_click (et cela donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23kGWe06mIHA.1164@TK2MSFTNGP02.phx.gbl...
Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de 0
à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47ff0984$0$884$ba4acef3@news.orange.fr...
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure
:
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal
à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23bt2D6ymIHA.2268@TK2MSFTNGP02.phx.gbl...
Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47fe315b$0$874$ba4acef3@news.orange.fr...
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup
d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le
message de news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne (Row.RowIndex).value,
dans la procédure du bouton ibMaj_click (et cela donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de 0
à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure
:
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal
à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du "postback"
qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup
d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" a écrit dans le message de
news: 47ff3046$0$886$Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne (Row.RowIndex).value,
dans la procédure du bouton ibMaj_click (et cela donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de
0 à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure
:
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal
à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup
d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47ff3046$0$886$ba4acef3@news.orange.fr...
Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne (Row.RowIndex).value,
dans la procédure du bouton ibMaj_click (et cela donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23kGWe06mIHA.1164@TK2MSFTNGP02.phx.gbl...
Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de
0 à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47ff0984$0$884$ba4acef3@news.orange.fr...
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure
:
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal
à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %23bt2D6ymIHA.2268@TK2MSFTNGP02.phx.gbl...
Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47fe315b$0$874$ba4acef3@news.orange.fr...
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup
d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le
message de news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" a écrit dans le message de
news: 47ff3046$0$886$Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne (Row.RowIndex).value,
dans la procédure du bouton ibMaj_click (et cela donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de
0 à chque fois et pour l'instant je soupçonnerais plutôt que la variable
Selection est recrée à chaque fois ce qui annulerait donc toute
suppression que tu aurais pu y faire lors de la précédente création de
page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette procédure
:
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est égal
à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la ligne...
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc si
la hastable selection est crée à partir de données présentes en base
elle sera recrée lors du prochain postback avec toutes ses données
même si une entrée y a été supprimée précédemment (mais ce n'est pas
la MEME ce'est juste la hastable qui avait été créée le coup
d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Désolé mais je vois pas quelle variable, est-ce
Selection.Remove(IDproduit) ?
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" a écrit dans le message de
news: 47ff3046$0$886$Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne
(Row.RowIndex).value, dans la procédure du bouton ibMaj_click (et cela
donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base
Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de
0 à chque fois et pour l'instant je soupçonnerais plutôt que la
variable Selection est recrée à chaque fois ce qui annulerait donc
toute suppression que tu aurais pu y faire lors de la précédente
création de page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette
procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est
égal à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la
ligne...
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc
si la hastable selection est crée à partir de données présentes en
base elle sera recrée lors du prochain postback avec toutes ses
données même si une entrée y a été supprimée précédemment (mais ce
n'est pas la MEME ce'est juste la hastable qui avait été créée le
coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Désolé mais je vois pas quelle variable, est-ce
Selection.Remove(IDproduit) ?
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23eywpJ8mIHA.5084@TK2MSFTNGP04.phx.gbl...
Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47ff3046$0$886$ba4acef3@news.orange.fr...
Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne
(Row.RowIndex).value, dans la procédure du bouton ibMaj_click (et cela
donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base
Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23kGWe06mIHA.1164@TK2MSFTNGP02.phx.gbl...
Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de
0 à chque fois et pour l'instant je soupçonnerais plutôt que la
variable Selection est recrée à chaque fois ce qui annulerait donc
toute suppression que tu aurais pu y faire lors de la précédente
création de page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47ff0984$0$884$ba4acef3@news.orange.fr...
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette
procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est
égal à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %23bt2D6ymIHA.2268@TK2MSFTNGP02.phx.gbl...
Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la
ligne...
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le
message de news: 47fe315b$0$874$ba4acef3@news.orange.fr...
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc
si la hastable selection est crée à partir de données présentes en
base elle sera recrée lors du prochain postback avec toutes ses
données même si une entrée y a été supprimée précédemment (mais ce
n'est pas la MEME ce'est juste la hastable qui avait été créée le
coup d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le
message de news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Désolé mais je vois pas quelle variable, est-ce
Selection.Remove(IDproduit) ?
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" a écrit dans le message de
news: 47ff3046$0$886$Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du treeView
Donc quand je coche une case cela me donne la ligne
(Row.RowIndex).value, dans la procédure du bouton ibMaj_click (et cela
donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base
Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée de
0 à chque fois et pour l'instant je soupçonnerais plutôt que la
variable Selection est recrée à chaque fois ce qui annulerait donc
toute suppression que tu aurais pu y faire lors de la précédente
création de page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette
procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est
égal à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la
ligne...
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc
si la hastable selection est crée à partir de données présentes en
base elle sera recrée lors du prochain postback avec toutes ses
données même si une entrée y a été supprimée précédemment (mais ce
n'est pas la MEME ce'est juste la hastable qui avait été créée le
coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table Access)
une liste de produits avec des checkbox pour pouvoir supprimer un
produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Il s'agit de la variable déclarée via :
Private Selection As New Hashtable
Pour l'instant je ne vois pas comment cette variable est initialisée ce
qui pourrait expliquer les pbs rencontrés pour y supprimer une valeur..
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47ff5790$0$878$Désolé mais je vois pas quelle variable, est-ce
Selection.Remove(IDproduit) ?
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" a écrit dans le message
de news: 47ff3046$0$886$Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du
treeView
Donc quand je coche une case cela me donne la ligne
(Row.RowIndex).value, dans la procédure du bouton ibMaj_click (et cela
donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base
Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée
de 0 à chque fois et pour l'instant je soupçonnerais plutôt que la
variable Selection est recrée à chaque fois ce qui annulerait donc
toute suppression que tu aurais pu y faire lors de la précédente
création de page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette
procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est
égal à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la
ligne...
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc
si la hastable selection est crée à partir de données présentes en
base elle sera recrée lors du prochain postback avec toutes ses
données même si une entrée y a été supprimée précédemment (mais ce
n'est pas la MEME ce'est juste la hastable qui avait été créée le
coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table
Access) une liste de produits avec des checkbox pour pouvoir
supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Il s'agit de la variable déclarée via :
Private Selection As New Hashtable
Pour l'instant je ne vois pas comment cette variable est initialisée ce
qui pourrait expliquer les pbs rencontrés pour y supprimer une valeur..
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message de
news: 47ff5790$0$878$ba4acef3@news.orange.fr...
Désolé mais je vois pas quelle variable, est-ce
Selection.Remove(IDproduit) ?
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%23eywpJ8mIHA.5084@TK2MSFTNGP04.phx.gbl...
Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47ff3046$0$886$ba4acef3@news.orange.fr...
Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du
treeView
Donc quand je coche une case cela me donne la ligne
(Row.RowIndex).value, dans la procédure du bouton ibMaj_click (et cela
donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base
Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %23kGWe06mIHA.1164@TK2MSFTNGP02.phx.gbl...
Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée
de 0 à chque fois et pour l'instant je soupçonnerais plutôt que la
variable Selection est recrée à chaque fois ce qui annulerait donc
toute suppression que tu aurais pu y faire lors de la précédente
création de page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le message
de news: 47ff0984$0$884$ba4acef3@news.orange.fr...
Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette
procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est
égal à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %23bt2D6ymIHA.2268@TK2MSFTNGP02.phx.gbl...
Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la
ligne...
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le
message de news: 47fe315b$0$874$ba4acef3@news.orange.fr...
Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: eOw8WnxmIHA.4292@TK2MSFTNGP04.phx.gbl...
La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc
si la hastable selection est crée à partir de données présentes en
base elle sera recrée lors du prochain postback avec toutes ses
données même si une entrée y a été supprimée précédemment (mais ce
n'est pas la MEME ce'est juste la hastable qui avait été créée le
coup d'avant).
--
Patrice
"Jean Claude" <jean-claude.mansion@wanadoo.fr> a écrit dans le
message de news: 47fddf59$6$897$ba4acef3@news.orange.fr...
Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table
Access) une liste de produits avec des checkbox pour pouvoir
supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude
Il s'agit de la variable déclarée via :
Private Selection As New Hashtable
Pour l'instant je ne vois pas comment cette variable est initialisée ce
qui pourrait expliquer les pbs rencontrés pour y supprimer une valeur..
--
Patrice
"Jean Claude" a écrit dans le message de
news: 47ff5790$0$878$Désolé mais je vois pas quelle variable, est-ce
Selection.Remove(IDproduit) ?
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de news:
%Non je parle de la variable dont le nom est "Selection"...
"Jean Claude" a écrit dans le message
de news: 47ff3046$0$886$Bonjour Patrice
La variable IDproduit est créée par le DataKeyName=IDproduit du
treeView
Donc quand je coche une case cela me donne la ligne
(Row.RowIndex).value, dans la procédure du bouton ibMaj_click (et cela
donne donc l'IDproduit)
Donc si je met un point d'arret sur le bouton j'ai :
1°) Protected Sub ibMaj_Click ......................
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
Je coche la premiere ligne et donc
Me.Gdv.DataKeys(row.RowIndex).Value=ligne 0
ensuit cele passe sur la procédure Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String) ' si je mets ma
souris sur IDproduit cela me donne 11 qui l'IDproduit dans la base
Access
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Et pourtant la ligne Selection.Remove n'est pas appelée
C'est bien cela que tu voulais ?
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Que donne un point d'arrêt ? Il est facile de vérifier si ContainsKey
retourne bien vrai et si la ligne Selection.Remove est bien appelée...
Pour l'instant, j'essayais de comprendre comment est créée la variable
Selection. Ne pas oublier qu'en ASP.NET la page est toujours recréée
de 0 à chque fois et pour l'instant je soupçonnerais plutôt que la
variable Selection est recrée à chaque fois ce qui annulerait donc
toute suppression que tu aurais pu y faire lors de la précédente
création de page...
Donc comment est créée cette variable ?
--
Patrice
"Jean Claude" a écrit dans le message
de news: 47ff0984$0$884$Bonjour Patrice
le problème c'est qu'elle ne détruit pas la ligne, dans cette
procédure :
Public Sub SupprimerArticle(ByVal IDproduit As String)
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End sub
Et pourtant le Me.Gdv.DataKeys(row.RowIndex).Value) est bon il est
égal à la ligne 2, ce qui correspond au produit IDproduit=3, le If
............ saute le selection.remove
Cordialement
JClaude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news: %Au temps pour moi je parlais de la HashTable "Selection". Je pense
qu'elle pourrait être recréée avec la ligne détruite lors du
"postback" qui suit le "postback" ayant permis de détruire la
ligne...
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fe315b$0$874$Bonjour Patrice
La sélection :
Je case une CkecBox du GridView, et je clic sur le bouton
J'ai une boucle For Next pour chercher la CheckBox cochée
ce qui me donne le rowIndex
ensuite Public Sub SupprimerArticle devrait supprimer la ligne
Jean Claude
"Patrice" <http://www.chez.com/scribe/> a écrit dans le message de
news:La sélection est créée où ?
Il faut bien comprendre que la page est recrée à chaque fois donc
si la hastable selection est crée à partir de données présentes en
base elle sera recrée lors du prochain postback avec toutes ses
données même si une entrée y a été supprimée précédemment (mais ce
n'est pas la MEME ce'est juste la hastable qui avait été créée le
coup d'avant).
--
Patrice
"Jean Claude" a écrit dans le
message de news: 47fddf59$6$897$Bonjour
J'ai un GridView « gdv » qui m'affiche (requete sur table
Access) une liste de produits avec des checkbox pour pouvoir
supprimer un produit
J'ai ajouté DataKeyNames="IDproduit" '( nom du DataField)
J'ai un bouton pour supprimer les produits cochés (ibMaj_Click)
Dans mon code j'ai :
Private Selection As New Hashtable
Protected Sub ibMaj_Click( _
ByVal sender As Object, _
ByVal e As System.Web.UI.ImageClickEventArgs) _
Handles ibMaj.Click
Dim row As GridViewRow = Gdv.SelectedRow
Dim chk As CheckBox
For Each row In Me.Gdv.Rows
If row.RowType = DataControlRowType.DataRow Then
chk = CType(row.Cells(7). _
FindControl("chkSupprimer"), CheckBox)
If chk.Checked Then
' Suppression d'un article
Me.SupprimerArticle( _
Me.Gdv.DataKeys(row.RowIndex).Value)
End If
End If
Next
End Sub
' Supprimer un article du panier
Public Sub SupprimerArticle(ByVal IDproduit As String)
'IDProduit = Session("Lindex")
If Selection.ContainsKey(IDproduit) Then
Selection.Remove(IDproduit)
End If
End Sub
Quand je lance l'appli, je coche la case de la 3eme ligne du gdv
Avec un pas a pas j'ai :
Me.Gdv.DataKeys(row.RowIndex).Value)=2
ce qui correspond au produit IDproduit=3
le If Selection.ContainsKey(IDproduit) est égal à 3
néanmoins le Selection.Remove(IDproduit) ne se fait pas
Pouvez-vous me dire ou est l'erreur
Cordialement
JClaude