Wie in einem Titel weiß jemand GridView-Header in ASP.NET einfrieren?Wie man GridView Header einfriert?
Antwort
Option (a) Kauf in ein UI-Paket, das ein aufgemotetes GridView mit dieser integrierten Funktionalität enthält.
Option (b) rollen Sie Ihre eigenen - es ist nicht einfach. Dino Esposito has one approach.
EDIT: Gerade gemerkt, dass der Dino-Artikel zu einem nur Abonnenten Bereich auf der ASPnetPro Magazin Website verlinkt.
Hier ist another approach mit Extendern.
Wie friert man ein, wenn der Header aus einem Hauptheader und einer Anzahl von Subheadern besteht? – bonCodigo
@bonCodigo - Sie erhalten wahrscheinlich bessere Antworten auf Ihre Frage, wenn Sie sie als separate Frage veröffentlichen. In diesem Fall verwenden Sie wahrscheinlich kein ASP.NET GridView, richtig? –
Ich habe Gridviews in der Webanwendung. Aufgrund der serverseitigen Antworten müssen wir uns nur an Gridview halten. Die größte Herausforderung sind die Sub-Header. Im schlimmsten Fall planen wir, die Header in einen HTML-Code zu schreiben und die Header aus der Gridview auszublenden. Aber dann habe ich das schlechte Gefühl, dass DML/CRUD nicht gut funktionieren wird. – bonCodigo
Sie können es in der CSS tun
Freeze-Rubrik: 1. Definieren Klasse .Freezing in Sheet:
.Freezing
{
position:relative ;
top:expression(this.offsetParent.scrollTop);
z-index: 10;
}
2.Assign Datagrid-Header des CssClass zu Einfrieren
Give ein Versuch sollte das Problem lösen http://www.codeproject.com/KB/webforms/FreezePaneDatagrid.aspx
Versuchen Sie dieses Open-Source-Projekt für ASP.NET. Es erweitert GridView, um feste Kopf-, Fußzeilen- und Pagerfunktionen sowie die Spaltenbreite in der Größe anzupassen. Funktioniert gut in IE 6/7/8, Firefox 3.0/3.5, Chrome und Safari.
http://johnsobrepena.blogspot.com/2009/09/extending-aspnet-gridview-for-fixed.html
können Sie versuchen, das folgende Beispiel
ich ein ähnliches Problem auch konfrontiert, während in den Web-Anwendungen in Asp.Net Entwicklung 2.0/3.5.
Eines schönen Tages stieß ich auf IdeaSparks ASP.NET CoolControls. Es hilft bei der Anzeige von fixen Spaltenüberschriften, Fußzeilen und Pagern.
Ich benutzte sie persönlich und ich liebte es wirklich!
To check the control click here : IdeaSparks ASP.NET CoolControls
hoffe, das hilft!
Ich denke, ich habe eine Lösung von diesem. siehe unten Javascript-Code
<script type="text/javascript" language="javascript">
var orgTop = 0;
$(document).scroll(function() {
var id = $("tr:.header").get(0);
var offset = $(id).offset();
var elPosition = $(id).position();
var elWidth = $(id).width();
var elHeight = $(id).height();
if (orgTop == 0) {
orgTop = elPosition.top;
}
if ($(window).scrollTop() <= orgTop) {
id.style.position = 'relative';
id.style.top = 'auto';
id.style.width = 'auto';
id.style.height = 'auto';
}
else {
id.style.position = 'absolute';
id.style.top = $(window).scrollTop() + 'px';
id.style.width = elWidth + 'px';
id.style.height = elHeight + 'px';
}
});
</script>
wo .header
die CSS-Klasse des Grid-Header ist.
Fügen Sie einfach dieses Skript auf der Seite hinzu und ersetzen Sie header
durch den Klassennamen css, den Sie für Ihre Kopfzeile verwendet haben.
Sie können überprüfen [this] (http://stackoverflow.com/questions/130564/i-need-my-html-tables-body-to-scroll-and-its-head-to-stay-put) Frage. –