Estoy trabajando una funcionalidad de sistema Asp.net 2.0. Hago uso de un datagrid, y tengo una columna de tipo textbox que solo debe aceptar valores numéricos. En el footer del datagrid, se deben sumas los valores de dichos textbox, tarea que se me hizo algo complicada, pero que ya logré realizarla.
Esta imagen muestra parte del datagrid que estoy usando (la suma no es correcta ya que solo tome las ultimas filas para la imagen)
El Itemtemplate del datagrid tiene la siguiente forma:
Sub sumarFooter()
Dim tabla As Table = CType(Me.dgreservas.Controls(0), Table) //el datagrid es una tabla, asi que lo convertimos a TABLA
Dim foot As DataGridItem = tabla.Controls(tabla.Controls.Count - 1) //el footer vendria a ser el total de controles de la tabla -1
Dim lblfoot As Label = foot.FindControl("lblFootComi") //de esa ultima fila, obtengo el control donde se hará la sumaDim totalComision As Double = 0
For Each item As DataGridItem In dgreservas.Items //recorro el datagrid y hago la suma
Dim txtComis As TextBox = CType(item.FindControl("txtcomision"), TextBox)
If IsNumeric(txtComis.Text.Trim) Then
totalComision = totalComision + Convert.ToDecimal(txtComis.Text) End If
Next
lblfoot.Text = Str(totalComision) //coloco la suma en el control que esta en el footer
End Sub
Espero haber ayudado un poquito. Saludos!!!