Foros del Web » Programación para mayores de 30 ;) » .NET »

de un texbox a un datagrid

Estas en el tema de de un texbox a un datagrid en el foro de .NET en Foros del Web. hola a todos, mi pregunta como hago para que cuando ingrese el codigo del libro me aparesca automaticamente sin apretar un boton los datos en ...
  #1 (permalink)  
Antiguo 06/06/2011, 22:03
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
de un texbox a un datagrid

hola a todos, mi pregunta
como hago para que cuando ingrese el codigo del libro me aparesca automaticamente sin apretar un boton los datos en el datagrid y como hago para asignarle a la tecla f5 la pantalla consultar libro

este es el formulario


gracias
una orientación porfa

Última edición por future89; 07/06/2011 a las 07:03 Razón: completar
  #2 (permalink)  
Antiguo 07/06/2011, 07:20
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: de un texbox a un datagrid

Hola future89, aquí tienes sobre los controles de funciones(F1,F2....). Espero te sean de utilidad. Saludos!..
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #3 (permalink)  
Antiguo 07/06/2011, 07:30
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

ok gracias
  #4 (permalink)  
Antiguo 07/06/2011, 07:35
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: de un texbox a un datagrid

En donde se va a digitar el codigo del libro en el datagridview? o en el textbox donde dice "**Ingrese Producto**"?
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #5 (permalink)  
Antiguo 07/06/2011, 08:53
Avatar de galletica12  
Fecha de Ingreso: mayo-2011
Ubicación: Tekax, Yucatán
Mensajes: 213
Antigüedad: 13 años, 6 meses
Puntos: 8
Respuesta: de un texbox a un datagrid

para mostrar la pantalla con el f5
crea un menustrip ponle el codigo
para mostrarte la pantalla y luego
solo relacionas el evento click del menu
con el evento click del buton para mostrar
tu pantalla
  #6 (permalink)  
Antiguo 07/06/2011, 09:22
Avatar de edbc92  
Fecha de Ingreso: octubre-2010
Ubicación: Lima - Los Olivos
Mensajes: 93
Antigüedad: 14 años
Puntos: 5
Respuesta: de un texbox a un datagrid

Si mal no entiendo, lo que tu quieres hacer es un filtrado? Si estas trabajando con sql, y quieres, que cada vez, que vas digitando una letra aparezca en el dgv'datagridview'. Es cuestión de hacer este procedimiento que luego lo llamas en el evente textchanged del textbox. Lo 1ro creamos el procedimiento, se podría programar de una vez en el evento del textbox, pero yo lo hago por cuestión de orden, en fin:

Código:
Private sub filtrar_x()

Dim cn as new sqlconnection(strcn)------->este va ser tu variable conexión que tu ya lo debes de tener

cn.open
try

sql="select cod_libro as 'Código', nombre as 'Nombre del libro',precio as 'Precio del libro' from libros where nombre like @nombre+'%' " -->ya dependiendo de en que tabla se encuentre tus querys lo haces, capaz tus tablas son relacionadas, en este caso lo hice algo sencillo. 

Dim cmd as new sqlcomman(sql,cn)
cmd.parameters.addwithvalue("@nombre",txt_libro.text) ---> Comparas el parámetro, con tu textbox.

Dim dr as sqldatareader=cmd.executereader
dim dt as new datatable

dt.load(dr)

dgvlibro.datasource=dt

catch ex as exception
msgbox(ex.message)---> para ver posible errores
finally
cn.dispose
end try
Ahora ese procedimiento ("filtrar_x") lo invocas en el evente del textbox...txtFiltrar_TextChanged(byval..)

ahi solo lo invocas

Código:
Private Sub txtFiltrar_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtFiltrar.TextChanged
        Call filtrar()
    End Sub
En todo caso que no estes trabajando con bdd me avisas para hecharte una mano xD, saludos.
  #7 (permalink)  
Antiguo 07/06/2011, 15:17
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

quiero qye al digitar el codigo en el texbox me lo muestre en el datagrid los datos de la tabla libro que son codigo, nombre y el precio que necesito
edbc92 no, no necsito ingresar letras en el textbox necesito hacer una busqueda de codigo de libro en el texbox y que me muestre los resultados en el datagrid, donde despues tengo que ir sumando los precios en el textbox **total** per gracias de todos modos
  #8 (permalink)  
Antiguo 07/06/2011, 15:18
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

sera mejor un listview o un datagridview para mostrar?
  #9 (permalink)  
Antiguo 07/06/2011, 15:29
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: de un texbox a un datagrid

Si ya tienes definida un longitud para el codigo lo que podrias hacer es esto :

En el evento TextChanged de tu TextBox escribir esto :
Código vb.net:
Ver original
  1. 'Por ejemplo yo defino la longitud del codigo, en este caso
  2. 'Si llega a 13
  3. If txtProducto.Text.Trim().Length = 13 Then
  4.     'Que envie un enter
  5.     SendKeys.Send("{Enter}")
  6. End If

Con el codigo anterior hago esto para evitar cruces de eventos y mandar la accion al evento keypress del mismo Textbox, Esto va en el evento KeyPress y luego haces una busqueda:
Código vb.net:
Ver original
  1. 'Valido que se ingrese solo numeros
  2. If Char.IsNumber(e.KeyChar) Then
  3.     e.Handled = False
  4. 'Valido que se presione Backspace,Enter
  5. ElseIf Char.IsControl(e.KeyChar) Then
  6.     e.Handled = False
  7. 'Las demas teclas quedan bloqueadas
  8. Else
  9.     e.Handled = True
  10. End If
  11.  
  12. 'Si mando un ENTER entonces que busque
  13. If e.KeyChar = Convert.ToChar(Keys.Enter) Then
  14.     Try
  15.         'Aqui ya te encargas de hacer tu busqueda e insertarlo a tu gridview
  16.         '...
  17.     Catch ex As Exception
  18.         MessageBox.Show(ex.Message)
  19.     End Try
  20. End If
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #10 (permalink)  
Antiguo 07/06/2011, 15:34
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

pero si un codigo de libro es de 8 y otro es de 10 y otro es de 15 como le hago para que se envie el enter
aloque me refiero si tienen diferente longitudes los codigos de libro
  #11 (permalink)  
Antiguo 07/06/2011, 15:39
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: de un texbox a un datagrid

Entonces solo usa el bloque de codigo KEYPRESS para que al terminar de digitar, el usuario presione ENTER para que realize la busqueda.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #12 (permalink)  
Antiguo 07/06/2011, 15:55
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

ok gracias
  #13 (permalink)  
Antiguo 07/06/2011, 20:40
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

al ejecutar el codigo que postiaste , al ingresar un codigo de libro me ejecuta el proceso varias veces , no para y al apretar la tecla pause del teclado, para y me muestra en el data grid
a que se debera eso??
  #14 (permalink)  
Antiguo 08/06/2011, 07:09
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: de un texbox a un datagrid

pon aqui el codigo que has hecho
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #15 (permalink)  
Antiguo 08/06/2011, 20:25
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

Código vb:
Ver original
  1. Imports System.Data.SqlClient
  2. Public Class VentaLibros
  3.     Private myConn As New SqlConnection
  4.     Private myCmd As New SqlCommand
  5.     Private myReader As SqlDataReader
  6.     Private results As String
  7.     Dim adaptor As New SqlClient.SqlDataAdapter
  8.     Dim dataset As New DataSet
  9.     Private Sub VentaLibros_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  10.  
  11.     End Sub
  12.  
  13.     Private Sub TbProducto_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TbProducto.KeyPress
  14.         'Valido que se ingrese solo numeros
  15.  
  16.         If Char.IsNumber(e.KeyChar) Then
  17.             e.Handled = False
  18.             'Valido que se presione Backspace,Enter
  19.            'ElseIf Char.IsControl(e.KeyChar) Then
  20.            '  e.Handled = False
  21.            'Las demas teclas quedan bloqueadas
  22.        Else
  23.             e.Handled = True
  24.         End If
  25.  
  26.         'Si mando un ENTER entonces que busque
  27.        If e.KeyChar = Convert.ToChar(Keys.Enter) Then
  28.  
  29.             'Aqui ya te encargas de hacer tu busqueda e insertarlo a tu gridview
  30.            myConn = New SqlConnection("Initial Catalog=libroteka;Data Source=localhost;Integrated Security=SSPI;")
  31.             'Crear un objeto Command.
  32.            myCmd = myConn.CreateCommand
  33.             myCmd.CommandText = "SELECT * FROM libros WHERE cod_libro ='" & TbProducto.Text & "' "
  34.             myConn.Open()
  35.             myReader = myCmd.ExecuteReader()
  36.             'Ltver.View = View.Details
  37.            'Ltver.Items.Clear()
  38.            Dim j = 0
  39.             Do While myReader.Read()
  40.                 Ltver.Items.Add(Str(myReader.Item("cod_libro")), 0)
  41.                 Ltver.Items(j).SubItems.Add(myReader.Item("nombre_libro"))
  42.                 Ltver.Items(j).SubItems.Add(myReader.Item("precio"))
  43.                 'j = j + 1
  44.            Loop
  45.  
  46.  
  47.             ' Dim j = 0
  48.  
  49.             ' j = Ltver.Items.Contains
  50.  
  51.  
  52.             'Ltver.Items.Add(TbProducto.Text, "cod_libro")
  53.            'Ltver.Items.SubItems.Add("nombre_libro").ToString()
  54.            'Ltver.Items.SubItems.Add("precio").ToString()
  55.            myReader.Close()
  56.             myConn.Close()
  57.             'Ltver.Sort()
  58.        End If
  59.     End Sub
  60.  
  61.     Private Sub TbProducto_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TbProducto.TextChanged
  62.         'Por ejemplo yo defino la longitud del codigo, en este caso
  63.        'Si llega a 13
  64.        If TbProducto.Text.Trim().Length = 13 Then
  65.             'Que envie un enter
  66.            SendKeys.Send("{Enter}")
  67.         End If
  68.     End Sub
  69. End Class

el primer codigo de libro que ingreso y se ingresa bien pero no puedo borrar el codigo en el texbox por que las teclas estan bloqueadas creo.

If Char.IsNumber(e.KeyChar) Then
e.Handled = False
'Valido que se presione Backspace,Enter
'ElseIf Char.IsControl(e.KeyChar) Then
' e.Handled = False
'Las demas teclas quedan bloqueadas
Else
e.Handled = True
End If

este codigo lo tengo asi porque si le saco los comentarios al ingresar un codigo de libro en el textbox empiesa a generar varias filas en el listview y no para sigue corriendo

tambien comotengo ese codigo no me agrega otra fila de otro libro
lo inetnto y solo me agrega el codigo del libro pero no el nombre y el precio

en todo eso estoy estancado he buscado pero nada, alomejor sera una palabara que agregar o cambiar? ....
  #16 (permalink)  
Antiguo 09/06/2011, 07:14
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: de un texbox a un datagrid

a simple vista vi tu error, Comenta todo lo que esta dentro del TextChanged, porque cada vez que digites va a mandar un "enter" y eso es lo que te ingresaba a cada rato a tu listview, y descomenta la validacion de las teclas, entonces te quedaria así :

Código vb.net:
Ver original
  1. Imports System.Data.SqlClient
  2. Public Class VentaLibros
  3.     Private myConn As New SqlConnection
  4.     Private myCmd As New SqlCommand
  5.     Private myReader As SqlDataReader
  6.     Private results As String
  7.     Dim adaptor As New SqlClient.SqlDataAdapter
  8.     Dim dataset As New DataSet
  9.     Private Sub VentaLibros_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  10.  
  11.     End Sub
  12.  
  13.     Private Sub TbProducto_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TbProducto.KeyPress
  14.         'Valido que se ingrese solo numeros
  15.  
  16.         If Char.IsNumber(e.KeyChar) Then
  17.             e.Handled = False
  18.             'Valido que se presione Backspace,Enter
  19.         ElseIf Char.IsControl(e.KeyChar) Then
  20.             e.Handled = False
  21.             'Las demas teclas quedan bloqueadas
  22.         Else
  23.             e.Handled = True
  24.         End If
  25.  
  26.         'Si mando un ENTER entonces que busque
  27.         If e.KeyChar = Convert.ToChar(Keys.Enter) Then
  28.  
  29.             'Aqui ya te encargas de hacer tu busqueda e insertarlo a tu gridview
  30.             myConn = New SqlConnection("Initial Catalog=libroteka;Data Source=localhost;Integrated Security=SSPI;")
  31.             'Crear un objeto Command.
  32.             myCmd = myConn.CreateCommand
  33.             myCmd.CommandText = "SELECT * FROM libros WHERE cod_libro ='" & TbProducto.Text & "' "
  34.             myConn.Open()
  35.             myReader = myCmd.ExecuteReader()
  36.             'Ltver.View = View.Details
  37.             'Ltver.Items.Clear()
  38.             Dim j = 0
  39.             Do While myReader.Read()
  40.                 Ltver.Items.Add(Str(myReader.Item("cod_libro")), 0)
  41.                 Ltver.Items(j).SubItems.Add(myReader.Item("nombre_libro"))
  42.                 Ltver.Items(j).SubItems.Add(myReader.Item("precio"))
  43.                 'j = j + 1
  44.             Loop
  45.  
  46.  
  47.             ' Dim j = 0
  48.  
  49.             ' j = Ltver.Items.Contains
  50.  
  51.  
  52.             'Ltver.Items.Add(TbProducto.Text, "cod_libro")
  53.             'Ltver.Items.SubItems.Add("nombre_libro").ToString()
  54.             'Ltver.Items.SubItems.Add("precio").ToString()
  55.             myReader.Close()
  56.             myConn.Close()
  57.             'Ltver.Sort()
  58.         End If
  59.     End Sub
  60.  
  61.     Private Sub TbProducto_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TbProducto.TextChanged
  62.         'Por ejemplo yo defino la longitud del codigo, en este caso
  63.         'Si llega a 13
  64.         'If TbProducto.Text.Trim().Length = 13 Then
  65.         '    'Que envie un enter
  66.         '    SendKeys.Send("{Enter}")
  67.         'End If
  68.     End Sub
  69. End Class
Espero haberte ayudado. Saludos!..
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net
  #17 (permalink)  
Antiguo 09/06/2011, 12:19
 
Fecha de Ingreso: diciembre-2010
Mensajes: 106
Antigüedad: 13 años, 11 meses
Puntos: 10
Respuesta: de un texbox a un datagrid

ok, me funciona bien gracias por todo, pero volvere jaja todavia me quedan cosas que no he podido hacer, pero claro seroan nuevos temas....
  #18 (permalink)  
Antiguo 09/06/2011, 12:33
Avatar de Aquaventus  
Fecha de Ingreso: junio-2010
Ubicación: Lima-Peru , En el alba de la naturaleza
Mensajes: 2.105
Antigüedad: 14 años, 4 meses
Puntos: 267
Respuesta: de un texbox a un datagrid

Me alegra haberte ayudado, cualquier otro problema postealo... estaremos siempre para ayudar. Saludos!.
__________________
Internet es tener todo el conocimiento global a tu disposición.
Desarrollo de Software - Ejemplos .Net

Etiquetas: net
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 14:04.