Comment supprimer une enregistrement depuit une gridview

sounamar Messages postés 43 Date d'inscription mercredi 10 janvier 2007 Statut Membre Dernière intervention 12 septembre 2008 - 2 mai 2008 à 13:06
sounamar Messages postés 43 Date d'inscription mercredi 10 janvier 2007 Statut Membre Dernière intervention 12 septembre 2008 - 2 mai 2008 à 14:03
Salut tt le monde :

Je veux supprimer une enregistrement dans un gridview par code et pas par assistant mais ça marche pas, voilà ce que j'ai écris dans GridView1_RowCommand:

If e.CommandName = "Delete" Then
            co = New SqlConnection("Data Source=PC1\SQLEXPRESS;Initial Catalog=Compta;Integrated Security=True;")
            co.Open()
            commande = New SqlCommand
            commande.Connection = co
            commande.CommandType = CommandType.Text
            Dim r_lblnumligne As String = CType(GridView1.Rows(GridView1.EditIndex).FindControl("lblnumligne"), Label).Text            commande.CommandText "DELETE FROM [Operationmois] WHERE (numligne'" & r_lblnumligne & "')"
            commande.ExecuteNonQuery()
            'Afficher Message BOx
            MsgBox("Suppression réussi", MsgBoxStyle.Information = MsgBoxStyle.OkOnly, "Message")
            GridView1.DataBind()
        End If

et dans GridView1_RowDeleting :
        GridView1.EditIndex = -1
        FillGrid()

"mais j'ai tjr le meme prob., affichage de message  L'index était hors limites. Il ne doit pas être négatif et doit être inférieur à la taille de la collection.
Nom du paramètre : index"

svp j'ai très besoin de votre aide
  

5 réponses

yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
2 mai 2008 à 13:20
si ton numligne est la clé primère de la table tu peux ajouter dans les proprietés de ton GridView DataKeyField="numligne";

et remplace : 
Dim r_lblnumligne As String = CType(GridView1.Rows(GridView1.EditIndex).FindControl("lblnumligne"), Label).Text

par :
 Dim r_lblnumligne As String = this.GridView1.DataKeys[e.Item.ItemIndex]
0
yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
2 mai 2008 à 13:22
je corrige :

Dim r_lblnumligne As String = GridView1.DataKeys[e.Item.ItemIndex]

sans this.
0
sounamar Messages postés 43 Date d'inscription mercredi 10 janvier 2007 Statut Membre Dernière intervention 12 septembre 2008
2 mai 2008 à 13:47
 merci pour votre réponce mais :


Dim r_lblnumligne
As
String = GridView1.DataKeys[e.Item.ItemIndex]
                                                                                               |               
                                                                                               | 
                                                 une erreur s'est produite ici Crochet fermant manquant (']') pour l'identificateur

j'ai fermer le crochet mais une autre erreur s'est produite " fin d'instruction attendue "
0
yassinebennani Messages postés 249 Date d'inscription samedi 13 octobre 2007 Statut Membre Dernière intervention 2 mai 2014
2 mai 2008 à 13:59
essay de convertir le résultat en string avec un tostring() à la fin

Dim r_lblnumligne
As
String = GridView1.DataKeys[e.Item.ItemIndex].ToString()
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sounamar Messages postés 43 Date d'inscription mercredi 10 janvier 2007 Statut Membre Dernière intervention 12 septembre 2008
2 mai 2008 à 14:03
meme erreur de crochet...
0
Rejoignez-nous