Frage

Wie in einem Titel, weiß jemand, wie in ASP.NET Gridview-Header einzufrieren?

War es hilfreich?

Lösung

Option (a) kauft in ein UI-Paket, das eine aufgemotzte Gridview mit dieser Funktionalität enthält integrierte.

Option (b) Ihre eigene Rolle - es ist nicht einfach. Dino Esposito hat einen Ansatz .

EDIT: hätte gerade bemerkt, dass der Dino Artikel Links zu einem teilnehmer nur Bereich auf der ASPnetPro Magazin Website.

Hier ein weiterer Ansatz Extender verwendet wird.

Andere Tipps

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 CssClass zu Einfrieren

Versuchen Sie, dieses Open-Source-Projekt für ASP.NET. Es erstreckt sich Grid feste Header, Footer und Pager und veränderbare Spaltenbreite zur Verfügung zu stellen. 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

ich konfrontiert zu einem ähnlichen Problem, während in den Web-Anwendungen in Asp.Net Entwicklung 2.0 / 3.5.

Eines Tages stieß ich auf IdeaSparks ASP.NET Cool . Es hilft fix Spaltenüberschriften, Fußzeilen und Pager angezeigt werden soll.

Ich habe sie persönlich und ich liebte es wirklich!

das Steuerelement klicken Um zu überprüfen, hier: IdeaSparks ASP.NET Cool

Hope, das hilft!

Ich glaube, ich habe Lösung dafür. 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 ist die CSS-Klasse der Grid-Header.

Fügen Sie einfach dieses Skript auf der Seite und ersetzen header mit der CSS-Klasse Namen, den Sie für Ihre Header verwendet haben.

Geben Sie diesen einen Versuch soll das Problem lösen http://www.codeproject.com/KB/webforms/FreezePaneDatagrid.aspx

Sie können versuchen, das folgende Beispiel

Freeze-Gridview Spalten

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top