Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117

    Totale colonna di un datagrid

    Continuo ad avere un problema, che non sono ancora riuscita a risolvere....

    ho un datagrid e vorrei inserire nel footer il totale di una specifica colonna di questo data grid... come posso fare?

    Grazie

  2. #2

    Re: Totale colonna di un datagrid

    Originariamente inviato da valeria75
    vorrei inserire nel footer il totale di una specifica colonna di questo data grid
    Puoi provare a mettere in una property pubblica es. Ciccio il totale (se la datasource e' una datatable puoi usare la funzione tuadatatable.compute(....) per ottenere velocemente il totale di una colonna).
    Metti una label nel footer della datagrid assegnandogli il text=<%# Ciccio %>
    Saluti a tutti
    Riccardo

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    io uso questa sub

    codice:
    Sub datagrid_ItemDataBound(ByVal sender As System.Object,ByVal e As DataGridItemEventArgs)
    	Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem
                    interimTotal += CType((e.Item.Cells(n).Text), Double)
    	    Case ListItemType.Footer
                    e.Item.Cells(n).Text = string.format("{0:F2}",interimTotal)
    	End Select
    End Sub
    dove n è la colonna(patendo da zero) di cui vuoi il totale
    nel datagrid abiliti il footer e imposti la proprietà onItemdatabound="datagrid_ItemDatabound"

  4. #4
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    Originariamente inviato da hankmccoy
    io uso questa sub

    codice:
    Sub datagrid_ItemDataBound(ByVal sender As System.Object,ByVal e As DataGridItemEventArgs)
    	Select Case e.Item.ItemType
                Case ListItemType.Item, ListItemType.AlternatingItem
                    interimTotal += CType((e.Item.Cells(n).Text), Double)
    	    Case ListItemType.Footer
                    e.Item.Cells(n).Text = string.format("{0:F2}",interimTotal)
    	End Select
    End Sub
    dove n è la colonna(patendo da zero) di cui vuoi il totale
    nel datagrid abiliti il footer e imposti la proprietà onItemdatabound="datagrid_ItemDatabound"
    come sarebbe in C# ???


  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Non conosco bene il c#. più o meno dovrebbe essere

    Sub datagrid_ItemDataBound(System.Object sender , DataGridItemEventArgs e)
    if (e.Item.ItemType==ListItemType.Item | e.Item.ItemType== ListItemType.AlternatingItem) {interimTotal += CType((e.Item.Cells(n).Text), Double)}
    if (e.Item.ItemType==ListItemType.Footer)
    {
    e.Item.Cells(n).Text = string.format("{0:F2}",interimTotal)
    }
    End Sub

    Prova, ma non ti assicuro che funzioni

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    4,127
    Originariamente inviato da hankmccoy
    void datagrid_ItemDataBound(System.Object sender , DataGridItemEventArgs e) {
    if (e.Item.ItemType==ListItemType.Item | e.Item.ItemType== ListItemType.AlternatingItem) {interimTotal += CType((e.Item.Cells(n).Text), Double)}
    if (e.Item.ItemType==ListItemType.Footer)
    {
    e.Item.Cells(n).Text = string.format("{0:F2}",interimTotal)
    }
    }
    mi sono permesso di modificare..

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    Grazie!
    Così risulta più leggibile.
    Spero che sia anche corretto.

  8. #8
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    if (e.Item.ItemType==ListItemType.Footer)
    {
    e.Item.Cells(n).Text = string.format("{0:F2}",interimTotal)
    }

    Grazie per l'aiuto

    ma cosa fa esattamente questo "interimTotal"

    ora provo ad applicare la vostra soluzione, ero riuscita ma con un metodo molto piu complicato, ovvero incrementando una variabile nell'itemdatabound...

    Grazie ancora

  9. #9
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    151
    interimTotal è semplicemente una variabile che devi definire al di fuori della sub

  10. #10
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,117
    Quindi anche in questo caso il totale lo calcolo a parte?

    Come avevo fatto io....

    grazie ancora

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.