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
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
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).Originariamente inviato da valeria75
vorrei inserire nel footer il totale di una specifica colonna di questo data grid
Metti una label nel footer della datagrid assegnandogli il text=<%# Ciccio %>
Saluti a tutti
Riccardo
io uso questa sub
dove n è la colonna(patendo da zero) di cui vuoi il totalecodice: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
nel datagrid abiliti il footer e imposti la proprietà onItemdatabound="datagrid_ItemDatabound"
come sarebbe in C# ???Originariamente inviato da hankmccoy
io uso questa sub
dove n è la colonna(patendo da zero) di cui vuoi il totalecodice: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
nel datagrid abiliti il footer e imposti la proprietà onItemdatabound="datagrid_ItemDatabound"
![]()
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
mi sono permesso di modificare..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)
}
}
Grazie!
Così risulta più leggibile.
Spero che sia anche corretto.
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
interimTotal è semplicemente una variabile che devi definire al di fuori della sub
Quindi anche in questo caso il totale lo calcolo a parte?
Come avevo fatto io....
grazie ancora