[ASP.NET] Fixer la ligne du Header d'un GridView
Vous avez toujours rêver d' utiliser les GridView, mais il y a trop de lignes.
Vous voulez donc permettre le "scroll" vertical , mais par défaut la ligne de titres scroll aussi, ce qui est gênant ...
Vous voulez trouver une solution pour que la ligne de titre reste fixe comme c' est possible dans Excel.
L'exemple suivant le permet :
1- Créer les deux classes suivantes dans votre CSS :
div.GVScrollCSS
{
overflow-y: scroll;
overflow-x: hidden;
}
.GVScrollFixedHeader
{
position:relative;
top:expression(this.parentNode.parentNode.parentNode.scrollTop-1);
}
2- Appliquer ces classes CSS dans votre fichier aspx comme dans l'exemple suivant :
<div class="GVScrollCSS">
<asp:GridView ID="_gvParcelles" DataKeyNames="PARCEL_ID" runat="server"
AutoGenerateColumns="False"
ShowHeader="true" Width="100%">
<HeaderStyle CssClass="GVScrollFixedHeader" />
<Columns>
<asp:TemplateField HeaderText="Colonne1" >
<ItemTemplate>
<asp:Label ID="lblCol1" runat="server" Text='<%# Bind("COL1") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Colonne2" >
<ItemTemplate>
<asp:Label ID="lblCol2" runat="server" Text='<%# Bind("COL2") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
Cette solution peut également s' appliquer sur l' élément Footer.
PS: Merci à R. Aymard pour cette astuce.
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :