Bonjour, je voudrais savoir s'il est possible de toujours afficher les en-tetes des colonnes à l'écran lors du défilement des lignes? Un peu comme dans excel.
Bonjour, je voudrais savoir s'il est possible de toujours afficher les en-tetes des colonnes à l'écran lors du défilement des lignes? Un peu comme dans excel.
Bonjour,
Je sais qu'il est possible d'avoir des entêtes de tableau fixe en html.
Ca se fait avec les CSS.
Il faudrait que tu recherches "fixed header css table"
Puisque le gridview n'est autre qu'un tableau, tu pourrais régler ton problème comme ça
en fait ca existe en css mais je préviens ca marche que pour IE.
Bon allez je me lance.
il faut que tu entoure ta gridview avec un panel ou une div (ce qui revient au même)
sur ce panel tu lui met une classe css précise par exemple "fixedHeader"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 <asp:Panel ID="scrollGridContainer" CssClass="fixedHeader" runat="server"> <asp:GridView ID="_gvProducts" runat="server" DataSourceID="_productSource" AutoGenerateColumns="false" AllowPaging="false" AllowSorting="true" > ... </asp:GridView> </asp:Panel>
l'important c'est le css:
et juste ca te permet d'avoir un header fixe mais que pour IE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 .fixedHeader { overflow: auto; height: 350px; } .fixedHeader table th { position: relative; top: expression(this.parentNode.parentNode. parentNode.scrollTop-1); }
Si tu as le courage tu peux essayer de faire ou de trouver le javascript qui remplacerais l'expression dans le css: "top:expression(this.parentNode.parentNode.parentNode.scrollTop-1);"
Ou si tu veux faire quelque chose de plus chiadé il va falloir changer le rendu de la gridview avec un ControlAdapter mais c'est une autre histoire.
tien regarde aussi ca:
http://weblogs.asp.net/dwahlin/archi...extenders.aspx
je viens de l'utiliser ca marche sur les deux (FF et IE) sauf que sur FF mes borders ne sont pas scrollés je sais pas encore pkoi.
*-Edit: Bon finalement j'ai trouvé c'est un border-collapse:collapse; qui pose probléme lorsque l'on utilise position:relative;
Partager