Il controllo GridView consente di rappresentare in forma tabellare i dati estratti da una qualsiasi collection che supporti il databinding, per cui si presta bene ad essere utilizzato in quegli ambiti in cui è necessario, ad esempio, mostrare un rendiconto finanziario o una semplice lista con un totale.
Di default il controllo non ha questa caratterista, ma si può aggiungere con poca fatica a partire da un codice come questo, che intercetta l'evento DataBound del controllo ed aggiunge al Footer, dopo averlo reso visibile,
un controllo con il totale calcolato a partire dai valori visualizzati:
void Page_Load(object sender, EventArgs e) { List.DataBound += new EventHandler(List_DataBound); } void List_DataBound(object sender, EventArgs e) { // recupero il totale e lo salvo in totalAmount // ad esempio ciclando sui dati o con una funzione helper int totalAmount = GetTotalAmount(); LiteralControl totals = new LiteralControl(); totals.Text = string.Format("Totale spesa: {0} Euro", totalAmount); List.FooterRow.Controls[List.FooterRow.Controls.Count-1].Controls.Add(totals); List.ShowFooter = true; }
Per maggiore comodità e con alcune semplici aggiunte è possibile creare un custom control, così da non dover ripetere ogni volta questo codice.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8
Effettuare il binding di date in Blazor
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Effettuare il deploy di immagini solo da container registry approvati in Kubernetes
Load test di ASP.NET Core con k6
Implementare il throttling in ASP.NET Core
Short-circuiting della Pipeline in ASP.NET Core
Personalizzare l'errore del rate limiting middleware in ASP.NET Core