Salut à tous,
j'ai un pb avec l'utilisation d'un gridView.
j'aimerais recuperer un SelectedRow pour afficher plus de détail a propos de ce tuple... Le pb c'est que je n'arrives pas à récupérer les informations du selectedRow... Comment ca marche?
Salut à tous,
j'ai un pb avec l'utilisation d'un gridView.
j'aimerais recuperer un SelectedRow pour afficher plus de détail a propos de ce tuple... Le pb c'est que je n'arrives pas à récupérer les informations du selectedRow... Comment ca marche?
il faut que tu mettes une valeur ou plusieurs pour la propriété datakeynames de ton gridview et que tu implémentes l'évenement selectedIndexChanged.
Bonjour,
Tu peux mettre dans ton GridView un LinkButton (ou autre soit ImageButton, Button, etc.) dans un TemplateField à l'intérieur de ton GridView.
Un peu comme ceci :
Bien sûr, il faut avoir mis le DataKeyName pour permettre au SelectedValue d'avoir la valeur du Numéro unique qui identifie ton tuple.
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 ID="GridView" runat="server" DataKeyNames="Numero" GridLines="None"> <Columns> <asp:BoundFieldDataField="Numero"HeaderText="Numero"ReadOnly="True"SortExpression="Numero""/> <asp:TemplateField> <ItemTemplate> <asp:ImageButtonID="lbDetails"CommandName="Details"runat="server"CausesValidation="false" CssClass="BoutonImage"ImageUrl="Images/details.gif"/> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView>
Ensuite, tu peux passer par l'événement RowCommand du GridView qui est utilisé lorsqu'une commande a été fait dans le GridView (ceci peut être soit Insert, Update, Delete avec les boutons générées automatiquement, ou une commande que vous décidez vous-mêmes)
Comme dans l'exemple ci-dessus, j'ai mis un CommandName (Details) à mon ImageButton pour me permettre d'avoir une commande personnalisée dans mon GridView.
Ensuite, il n'y a qu'à déterminer la commande qui a été faite en faisant appel à l'objet e qui possède la propriété CommandName et qui vous retournera la valeur de la commande qui a été faite.
Ex.:
De plus, pour obtenir la ligne qui a été sélectionnée, on fait appel à ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ProtectedSub GridView_RowCommand(ByVal sender AsObject, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs) Handles gvClasses.RowCommand If e.CommandName = "Details" GridView.SelectedIndex = CType(CType(e.CommandSource, Control).Parent.Parent, GridViewRow).RowIndex End if End Sub
Qui permet d'obtenir la ligne dans laquelle le contrôle a été cliqué (CType(e.CommandSource, Control)), ensuite on obtient la cellule (le premier .Parent) et ensuite la ligne (le second .Parent).
Code : Sélectionner tout - Visualiser dans une fenêtre à part CType(CType(e.CommandSource, Control).Parent.Parent, GridViewRow).RowIndex
À la prochaine,
Évans
Oki merci a tout les deux. Je regarde ca mais peut etre que j'aurais des questions plus tard...
c'est bon j'ai réussi à récupérer ce que je voulais. J'ai rempli mon dataKyeName pour mon gridView et j'utilise ensuite la procedure SlectedIndexChanged.... Et la je récupére la valeur GridView.SelectedValue.ToString qui me redonne la valeur selectionnée de ce champ dans ma table....
Merci encore a plus tard...
Partager