Gridview Header trier

fredspv Messages postés 127 Date d'inscription dimanche 7 mars 2004 Statut Membre Dernière intervention 6 juin 2008 - 26 août 2007 à 21:19
gldfdp Messages postés 90 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 21 février 2008 - 28 août 2007 à 16:26
Bonjour,

J'ai un gridview et je souhaite mettre des images pour trier certaines colonnes, j'arrive à mettre une image pour trier mais l'image n'est pas cliquable donc ne lance pas le script.
ci-joint mon script sur gridview_rowcreated:

protected
void GridView1_RowCreated(
object sender,
GridViewRowEventArgs e){
if ((e.Row !null) && e.Row.RowType
DataControlRowType.Header) {
  
foreach (
TableCell cell
in e.Row.Cells) { 
         
if (cell.Controls.Count > 0) { 
               
LinkButton button = cell.Controls[0]
as
LinkButton; 
               
if (button !=
null) { 
                        
Image image =
new
Image(); 
                        image.ImageUrl =
"images/calendrierX.gif";
                  
if (GridView1.SortExpression == button.CommandArgument){
                           
if (GridView1.SortDirection ==
SortDirection.Ascending)
                                 image.ImageUrl =
"images/calendrier1.gif";
                           
else 
                                 image.ImageUrl =
"images/calendrier2.gif"; 
                           } cell.Controls.Add(image); 
                  }
                } 
               } 
            }
}

<asp:GridView
ID="GridView1"
runat="server"
AutoGenerateColumns="False"
DataMember="DefaultView"
DataSourceID="XXXXX"
CellPadding="2"
ForeColor="#333333"
GridLines="None"
AllowPaging="True"
Font-Names="Arial"
Font-Size="Small"
DataKeyNames="IdX"
OnRowDeleting="GridView1_RowDeleting"
PageSize="30"
BorderColor="#8080FF"
BorderWidth="2px"
CellSpacing="1"
AllowSorting="True"
OnRowCreated="GridView1_RowCreated">
Merci

fred

1 réponse

gldfdp Messages postés 90 Date d'inscription lundi 30 juin 2003 Statut Membre Dernière intervention 21 février 2008
28 août 2007 à 16:26
utilise les templates et ne fais pas ça en code behind.

<

Columns>

   <asp:TemplateField>

      <HeaderTemplate>

         <asp:LinkButton
ID="LinkButton1"
runat="server"> <!--Tu lies ton evenement qui modifie le sens du tri avec ce bouton là-->

            <img
src="urldetonimage"
alt="altdetonimage"
/>

      </asp:LinkButton>

   </HeaderTemplate>

   <ItemTemplate>

      <asp:Label
ID="lblData"
runat="server"
Text='<%# Bind("tonchamp") %>
'
/>

   </ItemTemplate>

</asp:TemplateField>

</Columns>
0
Rejoignez-nous