none
Ejecutar procedimiento, después de agregar producto al datagridview RRS feed

  • Pregunta

  • Buenas a todos/as

    Programo en vb.net y estoy desarrollando un pequeño sistema de ventas. 

    Como pueden observar, cada vez que agrego un producto, la selección va siempre a la última fila. 

    Solo falta un detalle.

    Quiero que cada vez que la selección valla a la última fila del datagridview, se ejecute este código.

    Dim MiClase As New conexion2
            Dim row As DataGridViewRow = DGVDetalle_Factura.CurrentRow
            Dim ValorCeldaActual As String
    
            Dim FilasGrid As Integer = DGVDetalle_Factura.Rows.Count
            If FilasGrid > 0 Then
    
                ' Valor de la columna DataGridViewTextBoxColumn3 correspondiente a la fila actual.
                ValorCeldaActual = Convert.ToString(row.Cells("ColumnCod_producto").Value)
    
               
                aplicarMayoroAlPorMayor02 = MiClase.FuncionBusqueda2("Select AplicarMayoreoPorMayor  From Tbla_Producto Where  cod_producto='" & ValorCeldaActual & "'  ")
                txtaplicarMayoroAlPorMayor.Text = aplicarMayoroAlPorMayor02
    
    
                CantidadMayoreoMinima02 = MiClase.FuncionBusqueda2("Select CantidadMayoreoMinima  From Tbla_Producto Where  cod_producto='" & ValorCeldaActual & "'  ")
                txtCantidadMayoreoAlporMinimo.Text = CantidadMayoreoMinima02
    
    
                precioVentaMargenMinimo02 = MiClase.FuncionBusqueda2("Select precioVentaMargenMinimo  From Tbla_Producto Where  cod_producto='" & ValorCeldaActual & "'  ")
                txtprecioVentaMargenMinimo.Text = precioVentaMargenMinimo02
    
    
                AplicarMayoreoPorMenor02 = MiClase.FuncionBusqueda2("Select AplicarMayoreoPorMenor  From Tbla_Producto Where  cod_producto='" & ValorCeldaActual & "'  ")
                txtAplicarMayoreoPorMenor.Text = AplicarMayoreoPorMenor02
                'controlar Mayoro 2 Fin
    
                ' Consulta para Stock Mimino
                StockMinimo = MiClase.FuncionBusqueda("Select CantidadMinima  From Tbla_Producto Where  cod_producto ='" & ValorCeldaActual & "'  ")
                TxtStockMinimo.Text = StockMinimo
                TxtStockMinimo.Text = Format(CType(TxtStockMinimo.Text, Double), "#,##0.00")
    
    
                descrip_Producto01 = MiClase.FuncionBusqueda("Select descrip_Producto  From Tbla_Producto Where  cod_producto ='" & ValorCeldaActual & "'  ")
                Txtdescrip_Producto.Text = descrip_Producto01
    
    
                ' Controlar el Stock Mimino
                Dim Resta As Double
                Resta = CDbl(txtExistencia.Text) - row.Cells("ColumnCantidad").Value
    
                If Resta < CDbl(TxtStockMinimo.Text) Then
                    LblStockMimino.Text = ("Este Articulo está por debajo del Stcok Mínimo, actualmente hay " & Val(txtExistencia.Text) & " " & Txtdescrip_Producto.Text & " ")
                Else
                    LblStockMimino.Text = ""
                End If
                ' Controlar el Stock Mimino FIN
    
    
            End If

    Y no encuentro el evento apropiado, en el datagridview, he intentado con el evento RowsAdded y no me ha funcionado.

    En el evento SelectionChanged, pero se ejecuta en una fila menos

    Es decir que, si la selección está en fila 5, se ejecuta el procedimiento de la fila 4 y debiera ser la 5

    Esto está muy misterioso. 

    Espero su ayuda como siempre.



    • Editado EliannyRD sábado, 20 de enero de 2018 20:19
    sábado, 20 de enero de 2018 20:07

Respuestas

  • Con el SelectionChanged debería de funcionar. ¿Tienes la seguridad de que has contado las filas bien? Recuerda que se numeran desde cero, por lo que la quinta fila tiene el número 4.
    • Marcado como respuesta EliannyRD sábado, 20 de enero de 2018 22:28
    sábado, 20 de enero de 2018 21:16
  • Resuelto 100x%

    Me puse a probar todos los eventos del datagridview y el que me funcionó es: CurrentCellChanged: Se produce cuando cambia la propiedad CurrentCell.

    Gracias de todos modos. 

    • Marcado como respuesta EliannyRD sábado, 20 de enero de 2018 22:27
    sábado, 20 de enero de 2018 22:27

Todas las respuestas

  • Con el SelectionChanged debería de funcionar. ¿Tienes la seguridad de que has contado las filas bien? Recuerda que se numeran desde cero, por lo que la quinta fila tiene el número 4.
    • Marcado como respuesta EliannyRD sábado, 20 de enero de 2018 22:28
    sábado, 20 de enero de 2018 21:16
  • me puedes explicar mejor: 

    Recuerda que se numeran desde cero, por lo que la quinta fila tiene el número 4.

    los mas raro que utilizando las teclas de movimiento del teclado funciona perfectamente. 

    • Editado EliannyRD sábado, 20 de enero de 2018 21:58
    sábado, 20 de enero de 2018 21:47
  • Resuelto 100x%

    Me puse a probar todos los eventos del datagridview y el que me funcionó es: CurrentCellChanged: Se produce cuando cambia la propiedad CurrentCell.

    Gracias de todos modos. 

    • Marcado como respuesta EliannyRD sábado, 20 de enero de 2018 22:27
    sábado, 20 de enero de 2018 22:27