Visual Basic.NET - Calculo en columna de un DataGridView

 
Vista:
sin imagen de perfil
Val: 5
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Calculo en columna de un DataGridView

Publicado por David (2 intervenciones) el 12/04/2021 01:08:10
Hola a todos.

Les comento que tengo un DataGridView el cual cuando agrego una fila me realiza una peracion de multipliacion.
por ejemplo. multiplica la columna cantidad por la columna precio para obtener el total en la columna Total.
Hasta hay todo bien, el problema es cuando voy a modificar un registro cargando varias filas desde la base de datos al DataGridView , solo calcula dos primeras filas del DataGridView pero apartir de esos dos deja los demas valores de la columna total vacios.
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
sin imagen de perfil
Val: 5
Ha aumentado su posición en 3 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Calculo en columna de un DataGridView

Publicado por David (2 intervenciones) el 12/04/2021 01:12:59
Este es el codigo y uso el evento RowsAdded ando lo consulto desde la base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
Private Sub DataGridView1_RowsAdded(sender As Object, e As DataGridViewRowsAddedEventArgs) Handles DataGridView1.RowsAdded
    Dim row As DataGridViewRow = CType(DataGridView1.Rows(e.RowIndex), DataGridViewRow)
 
    Dim cantidad As String
    Dim precio As Double
    Dim totalart As Double
 
    cantidad = row.Cells("Cantidadart").Value
    precio = row.Cells("Precioart").Value
    totalart = cantidad * precio
    row.Cells("Totalart").Value = Format(totalart, "##,###.00")
 
    Dim suma1 As Double
    For i As Integer = 0 To DataGridView1.RowCount - 1
        suma1 += DataGridViewFact.Rows(i).Cells(4).Value
 
    Next
    ' Me.TextBoxSubtotal.Text = Format(suma1, "##,###.00")
 
    Dim suma As Double
    For i As Integer = 0 To DataGridView1.RowCount - 1
        suma += DataGridView1Rows(i).Cells(4).Value
 
    Next
 
    ''valida que no tenga descuento
    'If TextBoxDesc.Text <> "0.00" Then
    '    MsgBox("Ingrese descuanto nuevamente", MsgBoxStyle.Information, "AVISO")
 
    'End If
    'TextBoxDesc.Text = "0.00"
 
    Me.TextBoxSubtotal.Text = Format(suma, "##,###.00")
    Dim itbis As Double
 
    itbis = suma * 0.18
    TextBoxItbis.Text = Format(itbis, "##,###.00")
    Dim totalfac As Double
    totalfac = suma + itbis
    TextBoxTotalfa.Text = Format(totalfac, "##,###.00")
 
End Sub
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