Aggiungere una riga con il totale calcolato al GridView

di Daniele Bochicchio, in ASP.NET 2.0,

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

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi