Campos de Entrada Autocompletados

Seguramente en muchos de vuestros Formularios habréis sentido la necesidad que vuestros usuarios puedan seleccionar algún valor de texto de entre los contenidos en algún campo String en una Base de Datos (la situación es idéntica para encontrar campos numéricos o de cualquier otro tipo). A dichos campos le debemos habilitar las propiedades de Autocompletar, tal y como véis aquí:


Podemos seleccionar los valores desde algún DataSet o hacerlo directamente desde código. Algo parecido a ésto:

        'Cargo los Nombres de los Clientes en el Autocompletar del TextBox de Búsqueda
        Dim lista_buscar_clientes As New List(Of String)
        Dim comando As New SqlCommand("select nombre from cliente nolock order by nombre", cnn)
        Dim lectorDatos = comando.ExecuteReader()
        While lectorDatos.Read()
            lista_buscar_clientes.Add(lectorDatos("nombre"))
        End While
        ' Cierra el objeto DataReader
        lectorDatos.Close()
        txt_cliente.AutoCompleteCustomSource.AddRange(lista_buscar_clientes.ToArray)

Cambiar de Fila (no de columna) al editar un DataGridView

Hoy os traigo un truco realmente simple que os facilitará muy mucho la edición a la hora de introducir datos en un control DataGridView en tus proyectos .NET, si eres como yo, que prefieren introducir datos y validarlos pulsando la tecla "Enter", y no "Tabulador", para avanzar entre las distintas columnas de una fila. Técnicamente consiste en ejecutar el código que "sustituye" la pulsación del Enter por el Tabulador, desde el evento KeyDown directamente (o como ves en mi ejemplo, en una función llamada ValidarEnter, ya que la utilizo en muchos otros controles, y recuerda una de las leyes del buen desarrollador: ¡el código se escribe una sóla vez, no dupliques el mismo código en clases o módulos distintos!). Nos vemos.
  
Private Sub DataGridView_KeyDown(sender As System.Object, e As System.Windows.Forms.KeyEventArgs) Handles DataGridView.KeyDown
      ValidarEnter(e)
End Sub

Private Sub ValidarEnter(e As System.Windows.Forms.KeyEventArgs)
  If e.KeyCode = Keys.Enter Then
     e.SuppressKeyPress = Tue
     SendKeys.Send("{TAB}"
  End IF
End Sub

Buscar en el Blog: