IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

Index de la ligne supprimée


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 31
    Points : 24
    Points
    24
    Par défaut Index de la ligne supprimée
    Bonjour à tous !

    Je travail présentement avec un gridview dynamique qui va chercher mes enregistrements dans une banque de données SQL server. Je peux en ajouter, en modifier et en supprimer. Tout marche très bien sauf la supression. En effet, je suis pas capable d'aller chercher la valeur de mon dropdownlist qui contient l'id de ma publication.

    Voici comment j'ai fait pour l'édition :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
        Protected Sub grid_Mod() Handles GridView1.RowUpdating
            Dim grv As GridViewRow = Me.GridView1.Rows(Me.GridView1.EditIndex)   
            Dim id As String = CType(grv.Cells(1).FindControl("ddlEditId"), DropDownList).SelectedValue
            Dim individu As String = CType(grv.Cells(1).FindControl("ddlEditName"), DropDownList).SelectedValue
            Dim motif As String = CType(grv.Cells(1).FindControl("ddlEditMotif"), DropDownList).SelectedValue
            Dim periode As String = CType(grv.Cells(1).FindControl("ddlEditPeriode"), DropDownList).SelectedValue
            Dim commentaire As String = CType(grv.Cells(1).FindControl("txtEditCom"), TextBox).Text
     
            If updateAbs(lblDateAjd.Text, individu, motif, periode, commentaire, Session("user"), Session("ecole"), id, Session("annee")) = True Then
                Response.Redirect("page1.aspx")
            End If
        End Sub
    Bref je réussi à aller chercher toutes mes valeurs et à les passer en paramètres à ma fonction d'update.

    Et voici ce que je fais pour la supression

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            Dim grv As GridViewRow = Me.GridView1.Rows(Me.GridView1.DeleteIndex)
            Dim id As String = CType(grv.Cells(1).FindControl("ddlSupId"), DropDownList).SelectedValue
     
            If deleteAbs(id, "norm", lblDateAjd.Text, "", "", "") Then
                MsgBox("delWorkde")
            End If
        End Sub
    Est-ce qu'il existe un Me.GridView1.DeleteIndex ou un truc du genre (J'ai déjà essayé DeleteIndex et ça existe pas )

    Merci de votre aide

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Helpha Voir le message
    Est-ce qu'il existe un Me.GridView1.DeleteIndex ou un truc du genre (J'ai déjà essayé DeleteIndex et ça existe pas )
    As-tu pensé à la propriété SelectedIndex ? Tu récupères sa valeur avant de supprimer la ligne.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    Lorsque je fais ça, je n'ai pas d'erreur, mais quand j'appuie sur supprimer le programme arrête et m'écrit :

    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
    Voici ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Protected Sub grid_Del() Handles GridView1.RowDeleting
            Dim grv As GridViewRow = Me.GridView1.Rows(Me.GridView1.SelectedIndex)
            Dim id As String = CType(grv.Cells(1).FindControl("ddlSupId"), DropDownList).SelectedValue
     
            If deleteAbs(id, "norm", lblDateAjd.Text, "", "", "") Then
                MsgBox("delWorkde")
            End If
        End Sub

  4. #4
    Membre à l'essai
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2012
    Messages
    31
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2012
    Messages : 31
    Points : 24
    Points
    24
    Par défaut
    J'ai finalement réussi !

    Voici comment j'ai fait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        Protected Sub grid_Del(ByVal sender As Object, ByVal e As GridViewDeleteEventArgs) Handles GridView1.RowDeleting
            Dim grv As GridViewRow = GridView1.Rows(e.RowIndex) 
            Dim ID As String = CType(grv.Cells(8).FindControl("ddlSupId"), DropDownList).SelectedValue 
     
            If deleteAbs(ID, "norm", lblDateAjd.Text, "", "", "") Then
                Response.Redirect("page1.aspx")
            End If
        End Sub

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bizarre!
    J'espère qu'un jour je comprendrai vraiment comment fonctionne VB.Net. Dans ton avant-dernière tentative tu as utilisé un gestionnaire d'évènement sans la bonne signature et ça a marché donc compilé alors qu'en C# tu es obligé d'avoir un gestionnaire respectant la signature du delegate de l'évènement autrement dit le code sans les paramètres n'aurait pas compilé.
    Bref je comprendrai un jour.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VB.Net][2.0] Obtenir l'index d'une ligne d'un GridView
    Par Cyrilange dans le forum ASP.NET
    Réponses: 1
    Dernier message: 29/12/2005, 16h55
  2. Réponses: 2
    Dernier message: 25/10/2005, 10h51
  3. [vb.net][datatable] recuperer l'index d'une ligne
    Par graphicsxp dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/07/2005, 15h17
  4. [VB.NET] [DataGrid] recuperer l'index d'une ligne
    Par graphicsxp dans le forum Windows Forms
    Réponses: 12
    Dernier message: 29/03/2005, 15h13
  5. Récupérer l'index de la ligne d'une TDBLookUpListBox
    Par navis84 dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/02/2005, 10h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo