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:
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:
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.