Visual Basic.NET - 3 Datagridviews en un formulario - Visual Basic.Net

 
Vista:
sin imagen de perfil

3 Datagridviews en un formulario - Visual Basic.Net

Publicado por Alan (6 intervenciones) el 18/07/2014 17:24:15
Buenos días.

Soy principiante en Visual Basic y estoy desarrollando un pequeño programita de inventarios, por lo cual, pido su ayuda en esta consulta.

Tengo un Form con 3 Datagridviews. Los 2 primeros Datagrid, obtienen datos desde una base de datos.

1er Datagrid: Muestra las guías ingresadas con pinturas a los minialmacenes
2do Datagrid: Muestra los inventarios realizados en los minialmacenes

El 3er Datagridview, realiza un cálculo con los datos de los 2 DataGridviews anteriores y muestra el consumo realizado entre dichas fechas.

Estoy tratando de que el 3er DataGridview me muestre todos los productos de ambos datagridviews así no se hayan consumido.

PD: Cabe resaltar que los productos sombreados, son diferentes.
El 1er Datagrid tiene un producto Hardener P25 y el 2do Datagrid tiene un P35, pero solo he podido hacer que el 3er DataGridView, me muestre el P25, mas no el P35.

(Click para Agrandar Imagen)



Igualmente, adjunto el código del 3er DataGridView. No sé si ayude en algo.

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
Dim fila As Integer = 0
        Dim Consumo As Double = 0
 
        If CboAlmacenes.SelectedValue = CboAlmacenes2.SelectedValue Then
            If cboFecha.SelectedValue.ToString < cboFecha2.SelectedValue.ToString Then
 
                For fila = 0 To DataGridView1.Rows.Count - 1
 
                    If DataGridView1.Rows(fila).Cells(2).Value = DataGridView2.Rows(fila).Cells(2).Value Then
                        DataGridView3.Rows.Add()
                        DataGridView3.Rows(fila).Cells(0).Value = Almacen
                        DataGridView3.Rows(fila).Cells(1).Value = DataGridView1.Rows(fila).Cells(2).Value
                        DataGridView3.Rows(fila).Cells(2).Value = DataGridView1.Rows(fila).Cells(3).Value
                        Consumo = DataGridView1.Rows(fila).Cells(4).Value - DataGridView2.Rows(fila).Cells(4).Value
                        DataGridView3.Rows(fila).Cells(3).Value = Consumo.ToString("N3")
                        DataGridView3.Rows(fila).Cells(4).Value = DataGridView1.Rows(fila).Cells(5).Value
                    Else
                        DataGridView3.Rows.Add()
                        DataGridView3.Rows(fila).Cells(0).Value = Almacen
                        DataGridView3.Rows(fila).Cells(1).Value = DataGridView1.Rows(fila).Cells(2).Value
                        DataGridView3.Rows(fila).Cells(2).Value = DataGridView1.Rows(fila).Cells(3).Value
                        Consumo = 0
                        DataGridView3.Rows(fila).Cells(3).Value = Consumo.ToString("N3")
                        DataGridView3.Rows(fila).Cells(4).Value = DataGridView1.Rows(fila).Cells(5).Value
                    End If
                Next
                fila = fila + 1
            Else
                MsgBox("Revisar la fecha", MsgBoxStyle.Exclamation, "Error")
                Exit Sub
            End If
        Else
            MsgBox("Los almacenes deben ser similares", MsgBoxStyle.Information, "Error")
            Exit Sub
        End If

Gracias.
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

3 Datagridviews en un formulario - Visual Basic.Net

Publicado por Pico (167 intervenciones) el 18/07/2014 20:11:12
Yo sólo te veo recorrer un datagridview y poner datos de uno. Si quieres añadir datos de dos trendrás que recorrer los dos.

Y no pongas datos de clientes en los foros.
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
sin imagen de perfil

3 Datagridviews en un formulario - Visual Basic.Net

Publicado por Alan (6 intervenciones) el 18/07/2014 20:15:26
Entiendo,

Puse debajo del final de la sentencia del Else, otro DataGridview3.rows.add() y lo que debería continuar, pero no pasó nada.
Incluso agregue el fila = fila + 1 antes de que acabe el else y tampoco.

Por otro lado, la información es ficticia y de prueba, no hay problema.

Saludos y gracias.
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
sin imagen de perfil

3 Datagridviews en un formulario - Visual Basic.Net

Publicado por Pico (167 intervenciones) el 18/07/2014 20:34:35
Si pones fila = fila + 1 incrementas fila dos veces, una tú y otra el next.

Pues si buscas en google te sale que existe mt representaciones.
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
sin imagen de perfil

3 Datagridviews en un formulario - Visual Basic.Net

Publicado por Alan (6 intervenciones) el 18/07/2014 21:53:22
Hay varias MT Representaciones y ese no es el nombre completo.

Entiendo, ¿y qué podría hacer?
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