Bonjour,

Je développe une application web en asp.net C#.
Plusieurs de mes pages contiennent des GridView qui sont rempli à l'aide d'ObjetDataSource (ODS_FICHE). Mon objectif c'est de permettre à l'utilisateur de pouvoir faire un tri sur la colonne de sont choix en cliquant sur l'en tête de la colonne par exemple.

Voici l'une d'elles sans ce tri :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
    <asp:GridView ID="GV_FICHE" runat="server" AutoGenerateColumns="False" DataSourceID="ODS_FICHE"
        EnableModelValidation="True" EnableViewState="False" CssClass="tableau">
        <Columns>
            <asp:HyperLinkField DataNavigateUrlFields= "PieceJointefiche" DataTextField="Libellefiche"
                HeaderText="Intitulé" Target="_blank" 
                DataNavigateUrlFormatString="~/PieceJointe/{0}"/>
            <asp:BoundField DataField="Codefiche" HeaderText="Code Emploi" SortExpression="Codefiche" />
            <asp:BoundField DataField="LibelleClasification" HeaderText="Classification" SortExpression="LibelleClasification" />
        </Columns>
    </asp:GridView>
Jusque la ça marche.

Je ne suis pas arrivé les mains vide, j'ai trouvé quelque trucs dont ce bout de code qui ajoute un bouton dans l'en tête grâce à la colonne de type TemplateField et qui appelle une procédure (que je dois aussi faire ).

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<asp:TemplateField>
<HeaderTemplate>
    <asp:Button runat="server" ID="BT_ID" CommandName="BTClicked"/>
</HeaderTemplate>
<ItemTemplate>
    <asp:Literal runat="server" ID="ID" Text='<%# Eval("Id") %>'> ></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
Pour la colonne ID c'est ok ! Mais je n'arrive pas a faire la colonne du lien. Il faudrait faire un "mix" entre HyperLinkField et TemplateField.

Si c'est pas la bonne voie j'écoute vos solution

Merci par avance,