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 :

Récupèrer les valeur d'une gridview vers une autre page Web


Sujet :

ASP.NET

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut Récupèrer les valeur d'une gridview vers une autre page Web
    Bonjour
    j'espère que vous pouvez m'aider car je suis bloqué
    je veux récupérer des valeur d'un enregistrement sélectionné via un lien hyperlinkfeild à partir d'une Gridview dans un formulaire qui contient des Textbox pour pouvoir les modifier dans une autre Default.aspx

    voila mon code pourri:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <asp:GridView style="BORDER-RIGHT: black 2px solid; LEFT: 38%; TOP: 0px" id="GridView1" runat="server" Width="289px" Height="104px" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="false" DataKeyNames="login" CssClass="gridview" AlternatingRowStyle-CssClass="even" DataSourceID="SqlDataSource2" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <Columns>
    <asp:BoundField ReadOnly="True" DataField="login" SortExpression="login" HeaderText="Login"></asp:BoundField>
    <asp:BoundField DataField="pass" SortExpression="pass" HeaderText="Password"></asp:BoundField>
    <asp:BoundField DataField="nom" SortExpression="nom" HeaderText="Nom"></asp:BoundField>
    <asp:BoundField DataField="prenom" SortExpression="prenom" HeaderText="Prénom"></asp:BoundField>
    <asp:BoundField DataField="n_type" SortExpression="n_type" HeaderText="Type utilisateur"></asp:BoundField>
    <asp:CommandField CancelImageUrl="~/undo-16x16.png" EditImageUrl="~/cc-color_line-16x16.png" UpdateImageUrl="~/checkok-16x16.png" ButtonType="Image" ShowEditButton="True"></asp:CommandField>
    <asp:HyperLinkField DataTextField="login" Text="login" DataNavigateUrlFields="login" DataNavigateUrlFormatString="~/default4.aspx?id={0}"/>
    </Columns>
     
    <AlternatingRowStyle CssClass="even"></AlternatingRowStyle>
    </asp:GridView>
    J'attends vos réponse et Merci d'avance..

  2. #2
    Membre régulier Avatar de SetaSensei
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 104
    Points
    104
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String id = Request["id"];
    ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    String id = Request["id"];
    Merci Setasensei de votre réponse Mais j'ai pas compris ce que tu veux dire !!!

  4. #4
    Membre régulier Avatar de hamouda64
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Points : 74
    Points
    74
    Par défaut
    Normalement lors de la sélection de la ligne au niveau de la gridview, tu peux avoir l'Id de l'élément sélection et donc la tu peux envoyer l'ID au niveau de l'url comme étant un QueryString
    Et au niveau de ta nouvelle page tu vas récupérer l'Id
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Request.QueryString["Id"]
    et récupérer l'élément à modifier et remplir tes TextBox.

    Sinon tu peux ajouter un lien Modifier cliquable qui permet de te renvoyer vers la nouvelle page avec toujours l'Id de l'élément a modifier.

    Bonne journée.

  5. #5
    Membre régulier Avatar de SetaSensei
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 104
    Points
    104
    Par défaut
    Citation Envoyé par rita87 Voir le message
    Merci Setasensei de votre réponse Mais j'ai pas compris ce que tu veux dire !!!
    Pour continuer le développement dans le sens de hamouda64 :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            protected void Page_Load(object sender, EventArgs e)
            {
                    String Id = Request["id"];
            }
    C'est à dire récupérer l'id que vous passez en paramètre dans :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:HyperLinkField DataTextField="login" Text="login" DataNavigateUrlFields="login" DataNavigateUrlFormatString="~/default4.aspx?id={0}"/>
    C'est à dire "id={0}" le paramètre passé étant donc la colonne "login" dans votre datasource : SqlDataSource2

  6. #6
    Membre régulier Avatar de hamouda64
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 63
    Points : 74
    Points
    74
    Par défaut
    Voilà Rita87 :

    Tu peux remplacer ton code de GridView par celui là :

    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
    <asp:GridView style="BORDER-RIGHT: black 2px solid; LEFT: 38%; TOP: 0px" id="GridView1" runat="server" Width="289px" Height="104px" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="login" CssClass="gridview" AlternatingRowStyle-CssClass="even" DataSourceID="SqlDataSource2" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
    <Columns>
    <asp:BoundField ReadOnly="True" DataField="login" SortExpression="login" HeaderText="Login"></asp:BoundField>
    <asp:BoundField DataField="pass" SortExpression="pass" HeaderText="Password"></asp:BoundField>
    <asp:BoundField DataField="nom" SortExpression="nom" HeaderText="Nom"></asp:BoundField>
    <asp:BoundField DataField="prenom" SortExpression="prenom" HeaderText="Prénom"></asp:BoundField>
    <asp:BoundField DataField="n_type" SortExpression="n_type" HeaderText="Type utilisateur"></asp:BoundField>
        <asp:TemplateField ShowHeader="False">
            <ItemTemplate>
            <asp:HyperLink ImageUrl="~/cc-color_line-16x16.png" runat="server" NavigateUrl='<% "~/EditPage.aspx?Id="+Eval("Id") %>' ></asp:HyperLink>
            </ItemTemplate>
        </asp:TemplateField>
    <asp:HyperLinkField DataTextField="login" Text="login" DataNavigateUrlFields="login" DataNavigateUrlFormatString="~/default4.aspx?id={0}"/>
    </Columns>
     
    <AlternatingRowStyle CssClass="even"></AlternatingRowStyle>
    </asp:GridView>
    </asp:Content>

    Au niveau du lien de modification, essaye de mettre le nom de la page sur la quelle tu être rediriger et au niveau de Eval("Id") tu doit mettre l'identifiant, pour pouvoir envoyé l'Id par url.

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2010
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 30
    Points : 19
    Points
    19
    Par défaut
    oui ca marche Merci Hamouda et Merci Seta de votre aide
    mais Svp comment je peux remplacer "login" par "modifier"
    C 'est à dire à la place de nom du "login" j veux écrire "Modifier"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <asp:HyperLinkField DataTextField="login" Text="login" DataNavigateUrlFields="login" DataNavigateUrlFormatString="~/default15.aspx?id={0}"/>

  8. #8
    Membre régulier Avatar de SetaSensei
    Homme Profil pro
    Inscrit en
    Juin 2006
    Messages
    78
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 78
    Points : 104
    Points
    104
    Par défaut
    Si vous voulez personnaliser un peu plus votre affichage, je vous recommande de plutôt utiliser la propriété ItemDataBound de votre grid, mettez toutes vos colonnes en Boundfield et mettez dans votre .cs dans le load :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    GridView1.ItemDataBound += new System.Web.UI.WebControls.DataGridItemEventHandler(this.OnItemDataBound);
    Puis une fonction du type :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
            private void OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
            {
                if ((e.Item.ItemType == ListItemType.Item) || (e.Item.ItemType == ListItemType.AlternatingItem))
                {
                    TableCell lNom = (TableCell)e.Item.Controls[5];
     
                    lNom.Text = "<a href='~/default15.aspx?id=" + lNom.Text">Modifier</a>";
                }
            }
    C'est un copier-coller que j'ai fais depuis mon propre code où je travaille avec les colonnes, mais l'idée est là.

  9. #9
    Futur Membre du Club
    Femme Profil pro
    Analyse système
    Inscrit en
    Juillet 2015
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Fidji

    Informations professionnelles :
    Activité : Analyse système
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2015
    Messages : 6
    Points : 8
    Points
    8
    Par défaut
    bonjour a vous tous

    je suis bloquée aussi a ce niveau mais dans un autre sénario
    je veux récupérer les valeurs d'une ligne sélectionnée à partir d'une Gridview dans un formulaire qui contient des Textbox pour pouvoir les modifier dans une autre page aspx
    genre jaimerai bien selectionner la ligne a modifier dans la gridview puis une fois que j'appuie sur le bouton edit je serai rediriger vers ma page aspx avec les textbox remplit )

Discussions similaires

  1. Récupérer les données d'un TableItem vers une Combo
    Par unange51 dans le forum SWT/JFace
    Réponses: 5
    Dernier message: 23/09/2008, 22h17
  2. Réponses: 7
    Dernier message: 30/01/2008, 17h39
  3. Réponses: 4
    Dernier message: 03/08/2007, 14h09
  4. Réponses: 6
    Dernier message: 10/03/2007, 11h42
  5. Récupérer les valeur d'un énuméré dans une string
    Par Oliv_75 dans le forum SL & STL
    Réponses: 5
    Dernier message: 28/09/2005, 00h55

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