Come bloccare l'intestazione GridView?
Domanda
Come in un titolo, qualcuno sa come bloccare l'intestazione GridView in ASP.NET?
Soluzione
L'opzione (a) acquista in un pacchetto UI che include un GridView complicato con questa funzionalità integrata.
L'opzione (b) crea il tuo - non è semplice. Dino Esposito ha un approccio .
EDIT: ho appena notato che l'articolo Dino si collega a un'area riservata agli abbonati sul sito della rivista ASPnetPro.
Ecco un altro approccio utilizzando gli extender.
Altri suggerimenti
Puoi farlo nel css
Blocco intestazione: 1. Definisci la classe. Freezing in Stylesheet:
.Freezing
{
position:relative ;
top:expression(this.offsetParent.scrollTop);
z-index: 10;
}
2.Assegna cssClass dell'intestazione di Datagrid a Freezing
Prova questo progetto open source per ASP.NET. Estende GridView per fornire un'intestazione fissa, un piè di pagina e un cercapersone e una larghezza di colonna ridimensionabile. Funziona bene con IE 6/7/8, Firefox 3.0 / 3.5, Chrome e Safari.
http://johnsobrepena.blogspot.com /2009/09/extending-aspnet-gridview-for-fixed.html
Anch'io ho affrontato un problema simile durante lo sviluppo nelle applicazioni Web in Asp.Net 2.0 / 3.5.
Un bel giorno, mi sono imbattuto in IdeaSparks ASP.NET CoolControls . Aiuta a visualizzare intestazioni di colonna, piè di pagina e cercapersone fissi.
Li ho usati personalmente e l'ho adorato davvero!
Per controllare il controllo, fare clic qui: IdeaSparks ASP.NET CoolControls
Spero che questo aiuti!
Penso di avere una soluzione a questo. vedi sotto il codice javascript
<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>
dove .header
è la classe css dell'intestazione Grid.
Basta aggiungere questo script sulla pagina e sostituire header
con il nome della classe css che hai usato per la tua intestazione.
Prova a risolvere il problema http://www.codeproject.com/KB/webforms/FreezePaneDatagrid.aspx
Puoi provare il seguente esempio