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 :

Erreur de suppression dans une GridView


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Par défaut Erreur de suppression dans une GridView
    Bonjour!

    J'ai un soucis avec une erreur non gérer que je ne sais pas comment contourner.
    J'utilise un ItemTemplate dans une GridView pour supprimer :
    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
     
      <asp:GridView ID="GridView1" runat="server" AllowSorting="True" AutoGenerateColumns="False"
                        BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px"
                        CellPadding="5" DataSourceID="dsEventsDoc" ForeColor="Black" GridLines="Vertical"
                        Height="0px" Width="780px" DataKeyNames="pk_document" 
                        onrowdeleting="GridView1_RowDeleting">
                        <AlternatingRowStyle BackColor="White" />
                        <Columns>
                            <asp:TemplateField ShowHeader="False">
                                <ItemTemplate>
                                    <asp:LinkButton ID="LinkSupprimerDoc" runat="server" CausesValidation="False"
                                     CommandName="Delete"   OnClientClick="return confirm_delete()" Text="Supprimer"></asp:LinkButton>
                                </ItemTemplate>
                            </asp:TemplateField>
     
     
    ... etc

    Mais j'utilise l'événement "GridView1_RowDeleting" pour supprimer la ligne dans le tableau au lieu d'utiliser le DELETE dans la SQLDataSource

    Quand je clique sur supprimer ça me sort cette erreur :

    La suppression n'est pas prise en charge par la source de données 'dsEventsDoc' sauf si DeleteCommand est spécifié.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.NotSupportedException: La suppression n'est pas prise en charge par la source de données 'dsEventsDoc' sauf si DeleteCommand est spécifié.
    J'ai essayer d'enlever sur l'itemTemplate supprimer "CommandName = "Delete" mais du coup il entre plus dans l'événement.

    Comment lui dire de pas prendre en compte la sqlDataSource pour la suppression?

    Merci d'avance pour vos aides,

    Bonne journée!

  2. #2
    Membre Expert Avatar de Arthis
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    1 265
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : Italie

    Informations forums :
    Inscription : Octobre 2003
    Messages : 1 265
    Par défaut
    n'utilises pas

    mais plutot un evenement OnClick si tu ne veux aps appeler l'évènement Delete de dsEventsDoc

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Par défaut
    Merci beaucoup Arthis!

    Oui j'essaie, ça me donne plus d'erreur.
    Mais le problème c'est que maintenant je sais pas comment récupérer la ligne de suppression parce que maintenant ma fonctionne est comme ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      protected void LinkSupprimerDoc_Click(object sender, EventArgs e){...}
    au lieu de comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    protected void GridView1_RowDeleting(object sender, GridViewDeleteEventArgs e){...}
    Je ne sais pas comment je pourrais récupérer la ligne de la GridView comme je le faisais avant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    GridView grid = (GridView)sender;
            int pk_document = (int)grid.SelectedPersistedDataKey.Value;

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2009
    Messages : 81
    Par défaut Résolu
    J'ai trouvé la solution.

    J'ai fait comme tu as dit Arthis et j'ajoute un

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CommandArgument='<%# Bind("pk_document")%>'
    Merci de ton aide!

    bonne journée.

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

Discussions similaires

  1. Message erreur sur méthode Update dans une gridview
    Par zefog dans le forum Général Dotnet
    Réponses: 1
    Dernier message: 22/02/2008, 12h00
  2. Erreur d'agrégation dans une requête UNION
    Par soso78 dans le forum Access
    Réponses: 2
    Dernier message: 05/10/2005, 00h11
  3. Erreur de syntaxe dans une requete
    Par linou dans le forum Requêtes
    Réponses: 4
    Dernier message: 02/08/2005, 12h44
  4. Combler les trous lors d'une suppression dans une table
    Par Billybongjoe dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 08/04/2004, 14h02
  5. [LG]suppression dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 9
    Dernier message: 16/12/2003, 21h20

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