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 la selectedValue d'un gridview


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut Récupérer la selectedValue d'un gridview
    Bonjour

    Je dois louper un truc tout bête, mais je le vois pas.
    J'ai regarde la FAQ et la MSDN, mais dans la première ya rien sur sur le GridView, et je fais pareil que ce qui est dit dans l'autre.

    Donc j'ai monté mon gridView basiquement avec un SqlDataSource et je voudrais récupérer l'id de a table pour déclencher un truc sur la page.

    Voilà le code côté HTML :
    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:SqlDataSource ID="sdsCampagne" runat="server" ConnectionString="<%$ ConnectionStrings:CS%>"></asp:SqlDataSource>
    <asp:MultiView ID="mvCampagne" runat="server" ActiveViewIndex="0">
    <asp:View ID="vListing" runat="server">
    	<asp:GridView ID="gvCampagne" runat="server" DataSourceID="sdsCampagne" AllowSorting="true" DataKeyNames="Id_Campagne" AutoGenerateSelectButton="true">
    		<Columns>
     
    		</Columns>
    	</asp:GridView>
    	<asp:Button ID="btnAjoutCampagne" runat="server" Text="Ajouter une campagne" />
    </asp:View>
    <asp:View ID="vFormulaire" runat="server">
    	<asp:Label ID="lblTitre" runat="server" Text="Fomualire de modification de la campagne"></asp:Label><br />
    	<asp:Label ID="lblLibelle" runat="server" Text="Libelle campagne"></asp:Label>
    	<asp:TextBox ID="txtLibelle" runat="server"></asp:TextBox>
    </asp:View>
    </asp:MultiView>
    Et voilà le code côté CodeBehind :
    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
    19
    20
    21
    22
     
    Private numCampagne As Int16
     
    Protected Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
    	sdsCampagne.SelectCommand = "SELECT Libelle, Regie, Annonceur, Id_Campagne FROM Campagne WHERE Appl_Name = '" & Request.Url.Host & "'"
    End Sub
     
    Protected Sub btnAjoutCampagne_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnAjoutCampagne.Click
    	mvCampagne.ActiveViewIndex = 1
    End Sub
     
    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    	Dim dt As DataTable = dmGlobCS.ExecuterRequeteSimple("SELECT * FROM Campagne WHERE Id_Campagne = " & CInt(gvCampagne.SelectedValue))
    	If dt.Rows.Count = 1 Then
    		txtLibelle.Text = dt.Rows(0).Item("Libelle")
    	End If
    End Sub
     
    Protected Sub gvCampagne_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles gvCampagne.SelectedIndexChanged
    	numCampagne = gvCampagne.SelectedValue
    	mvCampagne.ActiveViewIndex = 1
    End Sub
    Bon, voilà, ça doit être un truc tout couillon, mais je le vois pas. Parce que le champ texte reste désespérement vide.

    Merci pour votre aide.

  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
    as-tu une erreur??

    juste une constatation,

    gvCampagne_SelectedIndexChanged() s exécute après le page_Load..

    c'est normal que tu n'aies rien..

    debug en pas à pas.. et tu verras lequel s'execute en premier

  3. #3
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    Ok, merci pour l'info.
    Vraiment ce cycle de vie, c'est tout le plaisir de coder........

    C'est bon, j'ai résolu, j'ai dépkace ma reuqête et ça marche mieux.

    Dis moi, il me reste un dernier point que j trouve pas : comment on mets un DroDownList en haut des colonne pour faire un filtrage ?
    J'avais vu un truc là dessus (genre un tuto), mais impossible de remettre la main dessus.

  4. #4
    Membre expérimenté
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Par défaut
    salut

    je réouvre le topic, aprce que je viens de tomber sur un truc que j'aurais du voir au départ du topic, mais qui visiblement n'a pa voulu bouger les bras pour que le vois.

    En farfouillant la MSDN je tonmbe sur un bout de code que j'adapate à peine à mon besoins et qui donne ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Protected Sub gvCampagne_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvCampagne.RowCommand
    If e.CommandName = "ApercuCampagne" Then
    Dim index As Integer = Convert.ToInt32(e.CommandArgument)
    Dim selectedRow As GridViewRow = gvCampagne.Rows(index)
    Dim IdCell As TableCell = selectedRow.Cells(7)
    Dim IdCamp As String = IdCell.Text
    ApercuCampagne(IdCamp)
    End If
    End Sub
    Et voici le côté HTML pour une bonne compréhension.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <asp:GridView ID="gvCampagne" runat="server" DataSourceID="sdsCampagne" AllowSorting="true" DataKeyNames="Id_Campagne" AutoGenerateSelectButton="true" ShowHeader="true">
    	<Columns>
    		<asp:ButtonField ButtonType="Button" Text="aperçu" CommandName="ApercuCampagne" />
    	</Columns>
    	</asp:GridView>
    Y aurait pas un moyen plus simple por récupérer la valeur d'un champ dans le GridView, sachant que le champ en question est l'identifiant de la tabel dans la BDD ?

    PArce que c'est un poil la galère, en fait.

    Merci pour votre aide.

Discussions similaires

  1. Récupérer l'ID d'un gridview
    Par Moony Light dans le forum ASP.NET
    Réponses: 17
    Dernier message: 11/10/2007, 21h36
  2. Récupérer l'objet selectionné dans gridView
    Par tiboleo dans le forum ASP.NET
    Réponses: 5
    Dernier message: 14/06/2007, 16h27
  3. Comment récupérer valeur cellule d'un gridview?
    Par cortex024 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 23/03/2007, 14h31
  4. Récupérer un record depuis une gridview
    Par Dnx dans le forum ASP.NET
    Réponses: 2
    Dernier message: 07/07/2006, 11h42
  5. [C#] Récupérer une valeur d'un gridview
    Par LE NEINDRE dans le forum ASP.NET
    Réponses: 9
    Dernier message: 14/06/2006, 15h21

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