none
datagridview insertar un valor y simular pulsar enter RRS feed

  • Pregunta

  • Hola como estan..

    Necesito ayuda con una DataGridView, la idea es ingresar un valor númerico en la primera columna y luego buscar en una base de datos un registro que coincida con ese valor tipeado en la celda, esto funciona..

    ahora el problema es cuando no me acuerdo el código del artículo y necesito abrir una ventana donde pueda buscar por descripción el registro y una vez seleccionado que me traiga el código a la primera columna del datagridview y simule un enter como si lo ubiere tipeado directamente en la grilla.

    Paso en limpio, lo que necesito es simular un ENTER una vez copiado el valor en la grilla, hasta copiar el valor en la celda de la grilla funciona, el problema es que quiero simular la presión de la tecla enter por código...

    probé con SendKeys.Send("{ENTER}")) pero no funciona..

    Gracias.


    Luis Papazoglu

    miércoles, 13 de marzo de 2019 2:18

Todas las respuestas

  • Hola Luis:

    Adapta el siguiente código a tus necesidades:

    Primero creas la función siguiente:

    Public Shared Function VerificarCodigoAlta(ByVal Cod_Empresa As String) As Boolean
    
            'Esta función verifica que nos exista el mismo código de empresa en una Alta.
            ' Creamos el acceso a datos mediante el nombre de la cadena de conexión existente en el archivo de configuración de la aplicación.
            'Dim da As DataAccessInvariant = DataAccessInvariant.GetDataAccessInvariant(Configuracion.CadenaConexion))
            Dim valor As Integer = AccesoLogica.ObtenerPeriodos()
    
            ' Declaramos una variable Connection
            Using cnn As DbConnection = da.CreateConnection()
    
                ' Creamos el Commando
                Dim cmd As DbCommand = cnn.CreateCommand()
    
                cnn.Open()
    
                cmd.CommandText = "SELECT Cod_Empresa FROM Empresas WHERE Cod_Empresa = @IdEmpresa"
    
                cmd.Parameters.Add(Configuracion.CreateParameter(cmd, "@IdEmpresa", Cod_Empresa))
    
                Dim value As Object = cmd.ExecuteScalar()
                Return (value IsNot Nothing)
            End Using
    
        End Function

    Private Sub TxtCodEmpresa_Validating(sender As Object, e As System.ComponentModel.CancelEventArgs) Handles txtCodEmpresa.Validating Dim a As Assembly = Assembly.GetExecutingAssembly Dim rm As New ResourceManager(a.GetName.Name & ".Textos", a) 'Validamos que el código de empresa introducido no exista. Try If (AccesoActualizacionDatos.VerificarCodigoAlta(txtCodEmpresa.Text)) Then MessageBox.Show(rm.GetString("YaExisteUnaEmpresaConElCodigo") & ": " & txtCodEmpresa.Text & "." & vbCrLf & rm.GetString("Procedaaintroducirunnuevocodigo") & ".", rm.GetString("IntroDatos"), MessageBoxButtons.OK, MessageBoxIcon.Error) txtCodEmpresa.Focus() Else VarGlobal.StrCodEmpresa = txtCodEmpresa.Text If VarGlobal.StrCodEmpresa <> "" Then cboIdiomaAplic.Enabled = True End If End If Catch ex As Exception MsgBox(rm.GetString("ErrorProcVerifCodAltaEmpresa") & ": " & VarGlobal.StrCodEmpresa & "." & vbCrLf & ex.Message, MsgBoxStyle.Critical, rm.GetString("ErrorBase")) 'Error proceso verificación código de Alta de empresa End Try End Sub

    Un saludo.

    Gemma



    miércoles, 13 de marzo de 2019 13:05
  • Hola Gemma, el problema que tengo es como insertar una nueva fila en el DataGridView pero desde código, debería ser igual al proceso de ingreso manual sobre la grilla, pero lo necesito hacer desde código...

    yo ahora mismo tipeo el codigo de un articulo en la primera columna y me trae todos los demas datos de la base de datos, eso anda.. el tema es que quiero hacer lo mismo pero trayendo el código del artículo desde una variable y ponerla en la celda como si lo estubiese haciendo directamente en la grilla..

    nose si me explico correctamente..

    Gracias...Saludos


    Luis Papazoglu

    miércoles, 13 de marzo de 2019 16:05