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 :

gridview et e.commandargument = probleme


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
    Février 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Par défaut gridview et e.commandargument = probleme
    bonjour
    alors voila mon soucis :
    j'ai une gridview qui est remplit par l'utilisateur via des textboxs.
    en gros je stocke dans une liste des données que je renvoie a la gridview.
    j'ai rajouter un bouton supprimer dans celle ci de cette facon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Delete" CssClass="clLnkDetail"
                                OnClientClick="return confirm('Etes vous sûre de vouloir supprimer cette ligne ?');">
                                Supprimer
                            </asp:LinkButton>
                        </ItemTemplate>
                    </asp:TemplateField>
    ensuite dans le code C# j'ai ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName == "Delete")
            {
                int index =  Convert.ToInt32(e.CommandArgument);
                GridView2.DeleteRow(index);
            }
    le probleme c'est que e.commandargument ne contient rien d'autre que "" ... je n'arrive pas a trouver pourquoi ... du coup ça me marque comme erreur :
    Le format de la chaîne d'entrée est incorrect.

    si vous pouviez m'aider ca serait sympas

    de plus apres j'ai un bouton update a faire mais la je ne vois pas comment faire dans le code C#... dans l'asp c'est bon ca fait des textbox sur les champs mais je ne vois pas comment lui faire valider l'update...

    merci d'avance pour vos reponse

  2. #2
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    il est vivement consillé de supprimer un enregistrement sur la source de données de ton gridview et de recharger ton GridView.

    C'est normal qu'il n'y a pas de valeur dans CommandArgument vu que tu ne lui en passe pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     <asp:LinkButton ID="LinkButton1" runat="server" CommandName="Delete" CssClass="clLnkDetail" CommandArguments='<%# Eval("TonChamp") %>'                            OnClientClick="return confirm('Etes vous sûre de vouloir supprimer cette ligne ?');">
                                Supprimer
                            </asp:LinkButton>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Par défaut
    ma source de donnée étant une liste je prefere supprimer a la main
    mais le probleme c'est que je n'ai pas de cellule qui contient le numero de ligne
    j'ai donc rajouter une méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
            int i = 0 ;
            foreach (GridViewRow gvr in GridView2.Rows)
            {
                ((LinkButton)gvr.Cells[0].Controls[0]).CommandArgument = i.ToString();
                i++;
            }
    pour avoir un numero de ligne associer mais cela ne fonctionne pas !
    il me met : Impossible d'effectuer un cast d'un objet de type 'System.Web.UI.LiteralControl' en type 'System.Web.UI.WebControls.LinkButton'.

  4. #4
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    ce serait plus simple et plus propre... mais bon c'est toi qui voit


    ton cast n est pas bon..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((LiteralControl)gvr.Cells[0].Controls[0]).CommandArgument
    Ou alors regarde pour selectionner la bonne cellule avec un linkbutton dedans.. pask là celle que tu selectionne, elle contient un label.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2007
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2007
    Messages : 76
    Par défaut
    effectivement le bon control etait le 1 !
    maintenant ca passe jusqu'a
    GridView2.DeleteRow(index);
    ou il me met La suppression n'est pas prise en charge par ObjectDataSource 'ObjectDataSource1' sauf si DeleteMethod est spécifié.

  6. #6
    Membre Expert Avatar de bossun
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 359
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 359
    Par défaut
    c'est une liste de quel type?

    poste un peu de code..

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

Discussions similaires

  1. [VB.NET] gridview RowDataBound probleme
    Par barnet dans le forum ASP.NET
    Réponses: 5
    Dernier message: 04/06/2007, 13h40
  2. [ASP.net][GridView] Probleme sur un update
    Par jeromechezgdf dans le forum ASP.NET
    Réponses: 6
    Dernier message: 31/05/2007, 17h23
  3. [Debutant] Probleme d'affichage de mon Gridview
    Par sebium dans le forum ASP.NET
    Réponses: 1
    Dernier message: 26/05/2007, 14h05
  4. [asp.net2] Probleme avec GridView
    Par mikky dans le forum ASP.NET
    Réponses: 7
    Dernier message: 21/02/2007, 16h38
  5. Gridview : probleme de pagination
    Par LOUPO dans le forum ASP.NET
    Réponses: 2
    Dernier message: 04/07/2006, 16h08

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