Visual Basic.NET - Calculo en DataGridView

 
Vista:

Calculo en DataGridView

Publicado por Sebastian Real (3 intervenciones) el 02/12/2007 20:05:06
Hola a todos, estoy de nuevo por aca con otra cosa sencillita pero que no logro hacer :S

Tendo un DataGridView con datos como Cantidad, Descripcion, Precio Unitario y Precio Total, los 3 primeros datos los saco de una base de datos pero quiero hacer que en el DGV me salga el precio total de ese determinado producto en funcion del precio unitario * cantidad y se llene en la columna Precio Total para todos las filas (no es necesario que se grabe en el dataset ni en la base de datos)

esto deberia hacerlo al cargar el DGV asi cuando se realice alguna modificacion o nuevo ingreso y recargue el DGV me apareceran los nuevos items.

Y ya que estamos, podrian tambien ayudarme a realizar la suma de todos los datos de esa columna (Precio Total) para llenarla en un textbox?

Muchisimas gracias por adelantado a sus ayudas

Saludos

Sebastian R.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Calculo en DataGridView

Publicado por Edman (3 intervenciones) el 03/12/2007 04:21:18
Bueno, no se a que nivel estas. Asi que por ahora te doy como respuesta LA IDEA de cómo resolver (imagino que hay varias).
Creo que la manera mas engorrosa de resolver es utilizando el propio Datagridview para hacer las operaciones aritméticas. Ademas, igual se va a almacenar en la BD.
Asi que mi solucion fue realizar con sentencias de actualizacion (UPDATE) en un comando parametrizado T-SQL, al registrarse el cambio en la base de datos, "refresco" y los datos resultantes se mostrarán en el Datagridview. Me parece salvo mejor opinion la mejor solución.
Saludos desde Arequipa, Perú.
Edman
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo en DataGridView

Publicado por Harold V. (411 intervenciones) el 03/12/2007 13:34:30
Hola:

Espero esto te ayude, imaginemos que tenemos 7 columnas: 6 con datos
y 1 vacia q sera el (total) , para este ejemplo debes tener

Dim total,sumatotal As Double
For x As Int32 = 0 To dgvSample.Rows.Count - 1
If x = dgvSample.Rows.Count - 1 Then
Exit For
Else
'sumamos el valor de la columna 5 con el de la columna 6
total = CDbl(dgvSample.Item(4, x).Value) + CDbl(dgvSample.Item(5, x).Value)

'suma cada total que calcula
sumatotal + = total

'pasamos el valor calculado a la columna total
dgvSample.Item(6, x).Value = total.ToString("N2")

End If
Next

Hasta alli tenemos el total por cada fila, ahora sumemos todo.

txtTotal.text=sumatotal.ToString("N2") '
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo en DataGridView

Publicado por Lilia (62 intervenciones) el 03/12/2007 17:46:52
Hola!!
Ahi hay algo que te puede servir..

Private Sub CalcularCantidad()
Dim xx As Integer
Dim cantidad As Double
Dim peso As Double
If Me.dgv_detalle.Rows.Count > 0 Then
If (Not Me.dgv_detalle.Rows(xx).Cells("peso").Value Is DBNull.Value) And (Not Me.dgv_detalle.Rows(xx).Cells("cantidad").Value Is DBNull.Value) Then
For xx = 0 To Me.dgv_detalle.Rows.Count - 1
cantidad = cantidad + Val(Me.dgv_detalle.Rows(xx).Cells("cantidad").Value)
peso = peso + Val(Me.dgv_detalle.Rows(xx).Cells("peso").Value)
Next
Me.txtcantidad.Text = cantidad.ToString("##,#0.00")
Me.txtpeso.Text = peso.ToString("##,#0.00")
End If
End If
End Sub

Ahi me cuentas que tal te fue va?...
Saludos!!..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo en DataGridView

Publicado por fernanado (3 intervenciones) el 03/12/2007 23:52:24
bueno me sumo a las respuestas, yo eso lo realice sumando directamente cada una de las celdas, eso lo realizas de la siguiente manera
grilla(columna,fila).value
o sea que a vos te quedaria algo asi supongamos que tenemos cantidad col 1, precio unit col 2y descuento col 3( todos en moneda y no porcentajes ) total col 4

grilla(4,grilla.currentRows.index).value = (grilla(1,grilla.currentRows.index).value * grilla(2,grilla.currentRows.index).value)-grilla(3,grilla.currentRows.index)

o sea eso te pondria en la columna 4 de la fila seleccionada la multiplicacion de las cantidades por el precio actual - el descuento

ahora, vos esto lo tenes que llamar de algun lado, en mi caso particular, cuando modifico la columna que tiene el producto es cuando realizo la carga, con el evento cellEndEdit, lo que me permite poder realizar la busqueda del producto, cargar las celdas predefinidas y poder hacer las operaciones y poner el total

espero no haberte mariado y que te sirva

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Calculo en DataGridView

Publicado por Gilbran Queiroz (1 intervención) el 10/03/2008 21:39:46
ótimo, adorei, estava precisando e buscando um exemplo como este, Parabéns.

Visualizado em 10/03/2008 na cidade de Tefé - AM - Brasil

Por: Gilbran Queiroz
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar