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 :

[C# 2.0] Faire une update à partir d'une DDL dans une GridView


Sujet :

ASP.NET

  1. #1
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut [C# 2.0] Faire une update à partir d'une DDL dans une GridView
    Bonjour tout le monde.

    Voici la structure de ma GridView :

    | Nom de la personne | DDL des pays | bouton confirmer|

    Voci le code :

    Code XML : 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
     
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" Width="212px" DataKeyNames="PersonneId,ProjetId">
                <Columns>
                    <asp:BoundField DataField="PersonneId" HeaderText="PersonneId" InsertVisible="False"
                        ReadOnly="True" SortExpression="PersonneId" Visible="False" />
                    <asp:BoundField DataField="Nom" HeaderText="Nom" " SortExpression="Nom" " />
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource2"
                                DataTextField="Libelle" DataValueField="PaysId" SelectedValue='<%# Bind("PaysId") %>'>
                            </asp:DropDownList>
                        </ItemTemplate>
                    </asp:TemplateField>
                    <asp:ButtonField CommandName="Update" Text="Confirmer" />
                </Columns>
            </asp:GridView>

    Pour l'affichage c'est ok, le pays de la personne est affiché par défaut dans les listes générées.

    Je veux maintenant que quand je modifie la valeur de la liste (je change le pays de la personne) et que je click sur confirmer la modification se propage à la base de données ( Update Personne Set PaysId=@NouveauPays ). Justement le problee comment recuperer la nouvelle valeur (@NouveauPays) de la liste.

    Je vous remercie d'avance

  2. #2
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Tu peux faire du binding directement avec le GridView.

    Plus exactement, tu lies le GridView à un ObjectDataSource par exemple. Ensuite, tu pointes vers les méthodes qui vont bien et ca tourne super bien

  3. #3
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Merci à toi Didier,

    Bon en fin de compte j'ai fait autrement :

    Quand je clique sur mon bouton biensure l'evenement GridView1_RowCommand (object sender, GridViewCommandEventArgs e) est declenché, et la je peux recuperer l'index de de la ligne où le bouton a été clické avec e.CommandArgument . Et voila le tour est joué avec une colonne cachée contenant le Id de la personne je peux faire mon update.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 07/10/2014, 10h28
  2. Réponses: 2
    Dernier message: 07/05/2010, 17h10
  3. Réponses: 2
    Dernier message: 05/10/2007, 23h49
  4. Réponses: 3
    Dernier message: 08/10/2005, 00h02

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