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 :

Suppression d'une ligne dans un gridview


Sujet :

ASP.NET

  1. #1
    Membre confirmé Avatar de thierry007
    Homme Profil pro
    Autodidacte
    Inscrit en
    Août 2006
    Messages
    876
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Autodidacte
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 876
    Points : 457
    Points
    457
    Par défaut Suppression d'une ligne dans un gridview
    Bonjour a la communauté....


    DAns prj j'ai une page sur la quelle se trouve 2 ddlist un bouton (ajout) et un gridview

    le but étant de sélectionner des articles dans une ddlist, la quantité dans une autre ddlist et le bouton qui ajoute la sélection dans le gridview
    Jusque là tout fonctionne bien

    MAIS lorsque je veux supprimer une ligne là j'ai systématiquement le message "aucune ligne a cette position"


    ici je regarde et peuple le gridview si des livraison existe déjà
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
                       DsLivraisons = New DataSet
                      DsLivraisons = GetData.GetDatas("SELECT LIV_Quantite, LIV_Livraison FROM Livraisons WHERE LIV_IdContrat=1 ", "Livraisons", Connexion)
                      DtLivraisons = DsLivraisons.Tables("Livraisons")
                      DgLivraisons.DataSource = DtLivraisons
                      DgLivraisons.DataBind()

    voici le code d'ajout dans le gridview
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
     
     
         If CInt(ddQuantiteLivraison.Text) > 0 Then
                      Dim MyCol As DataColumn
                      Dim MyRow As DataRow
                      Dim i As Integer
     
                      MyCol = New DataColumn
                      MyCol.ColumnName = "LIV_Quantite"
                      MyCol.DataType = System.Type.GetType("System.Int32")
                      DtLivraisons.Columns.Add(MyCol)
     
                      MyCol = New DataColumn
                      MyCol.ColumnName = "LIV_Livraison"
                      MyCol.DataType = System.Type.GetType("System.String")
                      DtLivraisons.Columns.Add(MyCol)
     
                      For i = 0 To DgLivraisons.Rows.Count - 1
     
                            MyRow = DtLivraisons.NewRow
                            MyRow("LIV_Quantite") = DgLivraisons.Rows(i).Cells(0).Text
                            MyRow("LIV_Livraison") = DgLivraisons.Rows(i).Cells(1).Text
                            DtLivraisons.Rows.Add(MyRow)
     
                      Next
     
                      MyRow = DtLivraisons.NewRow
                      MyRow("LIV_Quantite") = CInt(ddQuantiteLivraison.Text)
                      MyRow("LIV_Livraison") = DdProduitLivraison.Text
                      DtLivraisons.Rows.Add(MyRow)
     
                      DgLivraisons.DataSource = DtLivraisons
                      DgLivraisons.DataBind()
     
                End If
    suppression de la ligne selectionnée -> enfin j'essaye....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      DtLivraisons.Rows.RemoveAt(e.RowIndex)
                DgLivraisons.DeleteRow(e.RowIndex)
    La Connaissance est comme la joie elle s'accroît en la partageant!

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Je suppose que e.RowIndex te renvoie -1 ? A quel moment charges tu ton gridview ? (PAge_load, Init, ...?)

  3. #3
    Membre averti

    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    176
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 176
    Points : 310
    Points
    310
    Par défaut
    Salut,

    Effectivement, ta demande ne doit pas être faite au bon moment du cycle de vie de la page.

    Cependant, tu peux faire autre chose.

    1/ Tu supprimes ta première ligne de code (celle qui remove la ligne dans le contrôle)
    2/ Tu conserves celle qui remove l'entrée dans la datasource
    3/ Tu rebindes la datasource

    Ca devrait donner le résultat souhaité.

    Bon courage.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par Arno_94 Voir le message
    Salut,

    Effectivement, ta demande ne doit pas être faite au bon moment du cycle de vie de la page.

    Cependant, tu peux faire autre chose.

    1/ Tu supprimes ta première ligne de code (celle qui remove la ligne dans le contrôle)
    2/ Tu conserves celle qui remove l'entrée dans la datasource
    3/ Tu rebindes la datasource

    Ca devrait donner le résultat souhaité.

    Bon courage.
    e.RowIndex vaudra tjs -1 même si il fait ca...

  5. #5
    Membre averti

    Développeur .NET
    Inscrit en
    Juillet 2008
    Messages
    176
    Détails du profil
    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Juillet 2008
    Messages : 176
    Points : 310
    Points
    310
    Par défaut
    Certes mais si tu lis le 1/ je lui dis de virer cette ligne

    Ca ne sert à rien de toucher au contrôle puisque derrière, on rebind la datasource modifiée...

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    777
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2003
    Messages : 777
    Points : 1 077
    Points
    1 077
    Par défaut
    Citation Envoyé par Arno_94 Voir le message
    Certes mais si tu lis le 1/ je lui dis de virer cette ligne

    Ca ne sert à rien de toucher au contrôle puisque derrière, on rebind la datasource modifiée...
    Effectivement il fait une opération inutile mais meme avec le point 1 e.RowIndex vaudra tjs -1. (probablement il fait le bind de son gridview dans le page_load à la place du page_init)

Discussions similaires

  1. [JTable] suppression d'une ligne dans un JTable?
    Par hby dans le forum Composants
    Réponses: 14
    Dernier message: 15/03/2007, 14h44
  2. Interdire la suppression d'une ligne dans une BDD
    Par griese dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 30/06/2006, 10h32
  3. Réponses: 3
    Dernier message: 26/03/2006, 20h45
  4. [VB.net] Détection suppression d'une ligne dans Datagrid
    Par Cereal123 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/03/2006, 14h08
  5. [VB6]Suppression d'une ligne dans un fichier
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 08/02/2006, 11h20

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