begin process at 2012 05 28 06:08:52
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

WebControl

 > 

onrowcommand et gridview


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

onrowcommand et gridview

jeudi 28 mai 2009 à 14:55:20 | onrowcommand et gridview

ddove53

Bonjour, je veux ouvrir la page correspondante à la cellule cliquée de la colonne "Username" et j' ai fait comme suit:
Dans ma page .ascx il ya:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    <Columns>
            <asp:BoundField DataField="UserName" HeaderText="Utilisateur"
            SortExpression="UserName" />
        <asp:BoundField DataField="FirstName" HeaderText="Prenom"
            SortExpression="FirstName" />
    </Columns>
</asp:GridView>

Et dans ma page ascx.cs il ya:
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int NumLigne = Convert.ToInt32(e.CommandArgument);
        string sId = GridView1.Rows[2].Cells[2].Text;
        Response.Redirect(("Default.aspx?ID=" + sId));
    }

J'obtiens pas le resultat que je veux. Pouvez-vous m'aider?
Merci.
jeudi 28 mai 2009 à 17:02:36 | Re : onrowcommand et gridview

ddove53

Ce que je veux c'est appeler la page correspondante en cliquant sur les cellules de la colonne "UserName".
J'ai modifié comme suit dans le .ascx:
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
    onrowcommand="GridView1_RowCommand" PageSize="5" >
    <Columns>
            <asp:BoundField DataField="UserID" HeaderText="UserID" SortExpression="UserID" />
            <asp:TemplateField HeaderText="Utilisateur" SortExpression="UserName">
                <ItemTemplate>
                    <asp:LinkButton CommandArgument='<%# Bind("UserID") %>' ID="Label1" runat="server" Text='<%# Bind("UserName") %>'></asp:LinkButton>
                </ItemTemplate>
            </asp:TemplateField>
    </Columns>
</asp:GridView>

Et dans le ascx.cs :

 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int index;
        string cle;
        if (e.CommandArgument == "UserID")
        {
            // "index" représente l'indice de la ligne de la gridview
            index = Convert.ToInt32(e.CommandArgument);
            // instancier une ligne de la gridview
            GridViewRow row_grid = GridView1.Rows[index];
            // récupérer la valeur de la premiere cellule de la ligne
            cle = row_grid.Cells[1].Text;
            Response.Redirect("Default.aspx?ID=" + cle);  
         }
    }
 
Help pleaz, je suis bloqué. Merci.

jeudi 28 mai 2009 à 20:31:41 | Re : onrowcommand et gridview

nhervagault

Administrateur CodeS-SourceS
Salut,

Sur le linkbutton mets la postbakurl a "Default.aspx?ID=" + cle

Quelle erreur tu as?
Passe avec le débugger.
vendredi 29 mai 2009 à 11:00:59 | Re : onrowcommand et gridview

ddove53

Le probléme de dirction est réglé mais j'ai une exception de depassement. Avec le code qui suit, je veut parcourir la première colonne de mon gridview et quand je clique sur une cellule de cette colonne, je sois dirigé vers 1 page specifique que j'ai indiqué avec la redirection.


 protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        int index=GridView1.Rows[1].Cells.Count;
        string cle;
        for (int i = 0;i < index; i++)
        if (e.CommandName == "Editer")
        {
            {
                index = Convert.ToInt32(e.CommandArgument);
               GridViewRow row_grid = GridView1.Rows[index];//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

                cle = row_grid.Cells[i].Text;
                Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(43, "Edit", "mid=" + 355, "UserID=" + cle));
            }
        }
    }

Mon code est-il juste? Merci.
samedi 30 mai 2009 à 13:54:59 | Re : onrowcommand et gridview

nhervagault

Administrateur CodeS-SourceS
C'est un peu normal
tu modifies index dans la boucle
utilise des variables bien nommées.


Relit ton code a voit haut et dessine sur un papier pour essayer de comprenndre.
Exemple

index = Convert.ToInt32(e.CommandArgument); dans la boucle aura toujours la meme valeur
donc a sortir de la boucle
idem pour
GridViewRow row_grid = GridView1.Rows[index];

donc il y a que cette partie qui est variable
   cle = row_grid.Cells[i].Text;
                Response.Redirect(DotNetNuke.Common.Globals.NavigateURL(43, "Edit", "mid=" + 355, "UserID=" + cle));

Sachant que le response.redirect casse la boucle

donc tu n'as qu'un tour de boucle.

Evite de mettre des valeur en dur dans un code (43,355)
les constantes et les enums sont la pour remplacer ce type de valeur


Cette discussion est classée dans : page, ascx, gridview, username, onrowcommand


Répondre à ce message

Sujets en rapport avec ce message

comment reutiliser un controle utilisateur asp.net [ par bastien30 ] Bonjour,j'ai créé une page index.aspx qui fait référence à un controle utilisateur nommé header.ascx.Ce dernier contient une image monimage.jpg j'ai c Affichage des données selon le username [ par maken ] Boonjour, à tous et Merci de votre aide!! car je galére en ce moment. Voivi ma question:J'ai mis en  place un site avec une authentification par formu datalist dynamique et ascx [ par aurelie ] Mon problème est le suivant :Je fais une requête qui va permettre de remplir une datalist. Voilà, mon code :j'ai un fichier ascx qui contient :<%@ Con Checkbox en Template dans Un GridView [ par NoSpoon61 ] Bonjour, J'ai un Gridview qui est créé dans mon Page_Load avec comme dataSource un dataSet (qui vient d'un webservice, donc qui est réinitialisé à ch GridView customisable au secours! [ par shitboypark ] Bonjour!Je débute en Asp.Net 2.0 (je viens du monde ASP)..et je galère avec des problèmes de M... car je manque de technique..J'ai une gridview sur un Gridview scrollable! [ par shitboypark ] BOnjour!je charge une gridview au lancement de ma page et la taille varie selon le nombre de records de ma page..J'ai envie que le height de ma grid s Connnexion Utilisateur [ par Steeve Le Provost ] Bonjour tout le monde !!!Je viens par ce mail vous faire part d'un petit problème...lol...je suis en angleterre et je commence l'ASP dans une boite de C# [ par sergiodonini ] Bonjour le amis, Mon probleme est le suvant: je suis débutant en C#. J'ai crée une simple page en Visual Studio.NET qui contient Username et Password. Problème de findcontrol [ par shawn ] Bonjour, Voici mon problème J'ai un gridview dans ma page. Dans ce gridview j'ai une templatecolumn dans laquelle j'ai un control radiobutton. DropDownList dans GridView [ par fabienmennechet ] Bonjour à tous,voici mon problème : sur une page web, j'ai un gridview remplit par un dataset. Dans ce gridview, il y a une colonne de dropdownlist qu


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,390 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales