Sumar Columna de Datagridview en Visual Basic Net
Sumar Columna de Datagridview en Visual Basic Net
Sumar Columna de Datagridview en Visual Basic Net
d
Hola amigos..esta es otra entrega que tal vez les sera tiles en momentos
que estn desarrollando una aplicacin de tal manera que algunas veces
necesitamos sumar columnas numricas del datagridview y sobre todo
presentarlas al final del mismo.
Entonces para ello mostremos una grilla llena de cantidades numricas que
se desea sumar y al final quede as:
Try
Dim n As Integer = 4 ' numero contador
Dim cantidad(n) As Integer 'matriz para almacenar hasta n valores
Dim valor As Double = 0.18 'valor de un articulo en comn
Dim subtotal(n) As Double ' matriz que almacena los subtotales de cada
compra
Dim suma As Double 'almacena el total de la suma de la columna subtotal
For i As Integer = 0 To n - 1
Next
For i As Integer = 0 To n - 1
subtotal(i) = cantidad(i) * valor
suma = suma + subtotal(i)
Next
grid1.Rows.Add(n + 1) 'numero de filas del grid
For r As Integer = 0 To n - 1
grid1.Item(0, r).Value = r + 1
grid1.Item(1, r).Value = Format(cantidad(r), "0.00")
grid1.Item(2, r).Value = Format(valor, "0.00")
grid1.Item(3, r).Value = Format(subtotal(r), "0.00")
grid1.Item(2, n).Value = "TOTALES="
grid1.Item(3, n).Value = Format(suma, "0.00")
Next
Catch ex As KeyNotFoundException
MessageBox.Show("Error de concurrencia:" & vbCrLf & ex.Message)
End Try
End Sub
Option Explicit On
2.
Option Strict On
3.
4.
' Espacio
5.
Imports System.Data.SqlClient
6.
7.
8.
9.
10.
11.
"Initial Catalog=bd_prueba"
12.
13.
14.
15.
16.
17.
18.
19.
20.
End Sub
21.
22.
23.
24.
25.
26.
27.
28.
29.
Try
30.
31.
32.
cn.Open()
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
da.Fill(ds)
43.
44.
45.
ComboBox.DataSource = ds.Tables(0)
46.
47.
48.
ComboBox.DisplayMember = ds.Tables(0).Columns(0).Caption.ToS
tring
49.
50.
Catch ex As Exception
51.
MessageBox.Show(ex.Message.ToString, _
52.
"error", MessageBoxButtons.OK, _
53.
MessageBoxIcon.Error)
54.
Finally
55.
56.
cn.Close()
57.
58.
59.
End If
End Try
End Sub
Indicar
el
campo
en
comn
para
ambas
tablas
en
la
'campo_Relacionado'.
Indicar las consultas sql para cargar los registros en ambas grillas
Formulario
Cdigo fuente
Texto planoImprimir
1.
Option Explicit On
2.
Option Strict On
3.
4.
5.
Imports System.Data.SqlClient
variable
6.
7.
8.
9.
10.
11.
"Integrated Security=true"
12.
13.
14.
' '''''''''''''''''''''''''''''''''''''''''''''''''''''
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
Try
27.
28.
conexion.Open()
29.
30.
31.
32.
33.
34.
' ''''''''''''''''''''''''''''''''''''''''''''''''''''
35.
36.
' ''''''''''''''''''''''''''''''''''''''''''''''''''''
37.
38.
39.
40.
41.
With comando
42.
43.
44.
45.
.Connection = conexion
End With
46.
47.
With Adaptador
48.
.SelectCommand = comando
49.
50.
Adaptador.Fill(DataSet, "Maestro")
51.
End With
52.
53.
54.
With DvMaestro
55.
.DataMember = "Maestro"
56.
.DataSource = DataSet
57.
58.
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
59.
.DefaultCellStyle.BackColor = Color.AliceBlue
60.
61.
End With
62.
' ''''''''''''''''''''''''''''''''''''''''''''''''''''
63.
64.
' ''''''''''''''''''''''''''''''''''''''''''''''''''''
65.
66.
With comando
67.
68.
69.
End With
70.
71.
With Adaptador
72.
.SelectCommand = comando
73.
74.
Adaptador.Fill(DataSet, "Detalle")
75.
End With
76.
77.
78.
' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''''''''''
79.
With DataSet
80.
.Relations.Add("mi_Relacion", _
81.
.Tables("Maestro").Columns(campo_Relaciona
do), _
82.
.Tables("Detalle").Columns(campo_Relaciona
do))
83.
End With
84.
85.
86.
87.
With DvDetalle
88.
.DataSource = DataSet
89.
.DataMember = "Maestro.mi_Relacion"
90.
.SelectionMode = DataGridViewSelectionMode.FullRowSelect
91.
End With
92.
93.
94.
With conexion
95.
96.
.Close()
97.
End If
98.
.Dispose()
99.
End With
100.
101.
Catch ex As Exception
102.
103.
MsgBox(ex.Message.ToString)
End Try
104.
105.
106.
107.
108.
End Sub
109.
110.
End Class