Visual Basic.NET - Problemas con datagridview en una factura

 
Vista:
Imágen de perfil de Elizabeth

Problemas con datagridview en una factura

Publicado por Elizabeth (7 intervenciones) el 24/08/2015 18:00:42
Hola amigos

Una vez mas necesito de su ayuda, estoy haciendo una factura en la cual tengo una cabecera y un detalle el cual el detalle tiene un datagridview el problema es el siguiente.

Necesito insertar mis productos a la grilla lo que quiero hacer es traer esos productos de otro formulario por tecla de funcion y al darle doble click en el formulario producto este me lleve el producto directamente a la grilla del detalle factura.

Espero me entiendan y puedan ayudarme muchas 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
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problemas con datagridview en una factura

Publicado por giancarlo (488 intervenciones) el 24/08/2015 22:05:53
si la estructura del datagridview es el mismo, puedes hacer algo asi:

formulario 1 con datagridview 1
formulario 2 con datagridview 2

en el formulario 2
1
2
3
4
5
dim iFila as integer=datagridview2.currentcell.rowindex
if iFila>=0
dim fila as datagridviewrow=datagridview2.rows(iFila)
formularioFactura.datagridview1.rows.add(fila)
end if

Si son diferentes o no funciona, intenta algo asi:

en el formulario2:
1
2
3
4
5
6
7
dim iFila as integer=datagridview2.currentcell.rowindex
if iFila>=0
formulario1.datagridview1.rows.add()
with formulario1.datagridview1.rows(formulario1.datagridview1.rows.count-1)
.cells("indice o nombre d ecolumna").values=datagridview2.item("nombre columna o indice",iFila).value
end with
end if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Elizabeth

Problemas con datagridview en una factura

Publicado por Elizabeth (7 intervenciones) el 27/08/2015 17:49:41
Gracias por la ayuda
mis grillas tienen estructuras diferentes el primer código no me funciona, pero el segundo lo eh probado y me trae el producto en mi grilla factura pero solo me trae un producto y el siguiente producto ya no me trae es decir le doy click y me reemplaza el mismo producto que ya esta en la grilla factura y me inserta filas en blanco
producto
espero me ayuden 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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problemas con datagridview en una factura

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 26/08/2015 09:21:09
Traerte los datos de un formulario a otro lo haces muy sencillo usando delegados.

Saludos cordiales
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
Imágen de perfil de giancarlo
Val: 377
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problemas con datagridview en una factura

Publicado por giancarlo (488 intervenciones) el 29/08/2015 18:37:31
Wlfredo, como se usa delegados? porfavor dejanos un ejemplo.

Elizabeth, el problema esta en la siguiente linea
with formulario1.datagridview1.rows(formulario1.datagridview1.rows.count-1)

especificamente en formulario1.datagridview1.rows.count-1, que es el indice de fila en que se va a insertar la informacion, asegurate que diga asi.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.239
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Problemas con datagridview en una factura

Publicado por Wilfredo Patricio Castillo (720 intervenciones) el 31/08/2015 05:40:49
Hola Giancarlo

Los delegados son simples de usar, ya que son tipos que devuelven o hacen referencia a métodos, sirven para pasar métodos como parámetros a otros métodos.

Fíjate bien, para el caso de Elizabeth que quiere pasar datos de un formulario a otro, por ejemplo tendríamos un formulario para buscar los productos, y alli declararíamos un delegado y un Evento, ya que trabajan juntos mas o menos así:

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
Public Delegate Sub TraerProducto(product As Producto)            //**Aqui declaro el delegado
 Public Event EnviarProducto As TraerProducto                               //**Aquí declaro un evento que si te fijas bien es del tipo del delegado

//**Aquí selecciono un producto desde un datagridview ***///
******************************************************************

 Private Sub DgvProductos_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles DgvProductos.CellDoubleClick
        Try
            Dim prod = New Producto
            prod.IdProducto = Convert.ToInt32(Me.DgvProductos.Item(0, Me.DgvProductos.CurrentRow.Index).Value)
            prod.NombreProducto = Me.DgvProductos.Item(1, Me.DgvProductos.CurrentRow.Index).Value.ToString
            prod.Precio = Convert.ToDecimal(Me.DgvProductos.Item(2, Me.DgvProductos.CurrentRow.Index).Value)
            prod.Iva = Convert.ToDecimal(Me.DgvProductos.Item(3, Me.DgvProductos.CurrentRow.Index).Value)
            RaiseEvent EnviarProducto(prod)              //*******Aqui envio el producto seleccionado mediante un evento y cierro el formulario
            Me.Close()
        Catch ex As Exception
            MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)
        End Try
    End Sub


//**Aca en el formulario de factura llamo al formulario de buscar productos de esta manera fíjate:
*********************************************************************************************************

Private Sub BtnBuscarProducto_Click(sender As Object, e As EventArgs) Handles BtnBuscarProducto.Click
        Dim FBusca As New FrmBuscarProductos
        AddHandler FBusca.EnviarProducto, AddressOf MostrarProducto //** Aqui especifico qué método será el que procese los datos que
        FBusca.Show()                                                                                           //** lleguen desde el otro formulario
    End Sub

Entonces es es muy simple no hay que usar variables públicas, hacer tanta cosa, sino que es algo simple y sencillo y que se puede reutilizar donde quieras que es lo mas importante.

1
2
3
4
5
6
7
//****Estoy adjuntando un ejemplo del uso de delegados el proyecto está hecho con VB en su Versión 2013.
//** El proyecto consta de 2 formularios: Factura y BuscarProductos, asimismo 3 clases:Factura,DetalleFactura y Producto.
//**En el formulario de buscarproductos se crea una lista con 50 productos en un for y se muestra en un datagridview.
//**Los productos tienen el nombre PRODUCTO 1, PRODUCTO 2, Y ASÍ HASTA PRODUCTO 50, éste formulario permite hacer una  //**búsqueda tipo las búsquedas LIKE que se usan para buscar por nombres, pero para que vean que funciona tienen que escribir //**producto, espacio y pueden poner el 1, 2, 3 o 4 para que vean que se seleccionan todos los que contengan el 1, es decir 1,10,11,12, //**etc.
 
//**En el formulario de factura hay un textbox Producto y un botón BtnBuscarProducto que tiene 3 puntos suspensivos (...), al darle clic en //**ese botón les mostrará el formulario de búsqueda de productos, en el cual escogen su producto y le dan doble clic y enviarán el //**producto hacia el datagridview del formulario Factura.
//*************En el datagridview del formulario Factura, pueden agregar valores al campo Cantidad y hará el cálculo hacia la columna //**importe **//


formfactu
buscarproducto
facturallenasincalculos
facturallenaconcalculos

Espero les sirva y saquen provecho, espero lo mejoren según sus necesidades, ya que por falta de tiempo no hice algo mas elaborado.

Saludos cordiales.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
Imágen de perfil de Elizabeth

Problemas con datagridview en una factura

Publicado por Elizabeth (7 intervenciones) el 03/09/2015 04:40:45
Muchas gracias a todos por su ayuda me sirvió de mucho y el código que me has facilitado Giancarlo funciona super bien...!
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