none
Totalizar al pie de un GridView RRS feed

  • Pregunta

  • Buenos dias , al momento de hacer la suma y totalizarla en el footer de un GridView me da el resultado, pero lo multiplica por dos, alguien sabe por que sucede esto:

    Lo hago con el siguiente codigo:

    If e.Row.RowType = DataControlRowType.DataRow Then
                total += e.Row.Cells(4).Text
            End If
            If e.Row.RowType = DataControlRowType.Footer Then
                e.Row.Cells(3).Text = "Total:"
                e.Row.Cells(4).Text = total.ToString
                e.Row.Font.Bold = True
            End If

    jueves, 12 de noviembre de 2015 19:00

Respuestas

  • hola

    ese es todo el codigo que defines en el RowDataBound ?

    donde defines la variable "total" ?

    aconsejaria que conviertas al tipo correcto

    total += Convert.ToInt32(e.Row.Cells(4).Text)

    es mas deberias habilitart las option strict en vb.net

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 12 de noviembre de 2015 19:12

Todas las respuestas

  • hola

    ese es todo el codigo que defines en el RowDataBound ?

    donde defines la variable "total" ?

    aconsejaria que conviertas al tipo correcto

    total += Convert.ToInt32(e.Row.Cells(4).Text)

    es mas deberias habilitart las option strict en vb.net

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina


    jueves, 12 de noviembre de 2015 19:12
  • Tengo lo siguiente mira :

    Dim cantidad As Decimal = 0
        Dim importe As Decimal = 0
        Dim total As Decimal = 0
    
     Protected Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
            If e.Row.RowType = DataControlRowType.DataRow Then
                cantidad += Convert.ToDecimal(e.Row.Cells(2).Text)
                total += Convert.ToDecimal(e.Row.Cells(4).Text)
            End If
            If e.Row.RowType = DataControlRowType.Footer Then
                e.Row.Cells(1).Text = "Total:"
                e.Row.Cells(2).Text = cantidad / 2
                e.Row.Cells(4).Text = total / 2
                e.Row.Font.Bold = True
            End If
        End Sub
    Tengo que dividir entre dos para que me de el resultado correcto, pero no me parece que sea lo correcto


    • Editado Gspindola jueves, 12 de noviembre de 2015 19:22 Respuesta mas detallada
    jueves, 12 de noviembre de 2015 19:21