#936 - Aggiungere una riga con il totale calcolato al GridView

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.


Approfondimenti

Commenti

Esprimi il tuo giudizio su questo script:

Per procedere devi essere autenticato.

Per inserire un commento, devi registrarti alla nostra community.




IN EVIDENZA
MISC