La Gridview è probabilmente il webcontrol più potente presente in ASP.NET 2.0.
Ci consente con poco codice operazioni che, eseguite normalmente, ne richiederebbero in quantità, oltre a tempo per la realizzazione, come la paginazione, la modalità "Edit" di ogni record, il Sort di colonna e così via.
L'unica mancanza, se così vogliamo chiamarla, è l'impossibilità della visualizzazione su più colonne, feature presente solo nel DataList. Il webcontrol che potete scaricare con questo script cerca di sopperire a questa mancanza e aggiunge al Gridview tre nuove proprietà, due delle quali ereditate dal Datalist:
- RepeatDirection: accetta come parametro "Horizontal" o "Vertical";
- ColumNumber: numero di colonne da visualizzare;
- Distance: distanza tra le varie colonne.
L'unica feature presente nel Gridview e qui disabilitata è il "footer" e la proprietà "ShowFooter".
Nell'allegato è presente anche un esempio sul suo utilizzo e il codice sorgente. La classe del control eredita dal Gridview originale e con un banale trucco di giochi di stringhe, effettua l'incolonnamento personalizzato:
protected override void Render(HtmlTextWriter output) { string contenuto = string.Empty; // Inserisco il contenuto del codice html del datagrid // e lo memorizzo nella variabile string "contenuto". StringWriter writer = new StringWriter(); HtmlTextWriter buffer = new HtmlTextWriter(writer); base.Render(buffer); contenuto = writer.ToString(); ... output.Write(contenuto); }
Grazie al codice qui sopra - facendo l'override del metodo "Render" di un qualsiasi web control presente nel framework - possiamo "catturare" tutto il codice HTML prodotto da esso e modificarlo secondo le nostre esigenze con personalizzazioni come quella oggetto di questo script.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Implementare il throttling in ASP.NET Core
Load test di ASP.NET Core con k6