Principales respuestas
autocompletar textbox

Pregunta
-
buenas tardes a todos!! tengo un código para autocompletar textbox pero me da error y no logro encontrarlo, si alguien puede orientarme se lo agradecería.
lo que deseo es autocompletar en el txt_razonsocial_cliente el nombre del cliente. Este campo viene de la base de datos (sql server)
Sub autoCompletarTexbox(ByVal campoTexto As TextBox)
Try
Dim autocompletar = (From auto In datacontext.CLIENTE
Select auto.CLI_razon_social).ToList()(0)
While respuesta.Read
campoTexto.AutoCompleteCustomSource.Add(respuesta.Item("CLI_razon_social"))
End While
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Sub--------------
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
autoCompletarTexbox(txt_razonsocial_cliente)
End Subel error que me da es: referencia a objeto no establecida como instancia de un objeto.
Respuestas
-
hola valeria
creo que mejor te funcionaria un codigo asi y utilizando las propiedades del autocomplete del control textbox que se configuran en este caso en el form load
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txt_razonsocial_cliente.AutoCompleteMode = AutoCompleteMode.Suggest txt_razonsocial_cliente.AutoCompleteSource = AutoCompleteSource.CustomSource txt_razonsocial_cliente.AutoCompleteCustomSource=CargarRazonsocial() End Sub
Como puedes observar creas un metodo cargarRazonsocial() para recorrer la tabla donde tienes todas las razones sociales y poderlas utilizar como autocomplete
public Function CargarRazonSocial() As DataTable Dim dtRS As New DataTable using cn as new sqlConnection with { .connetionString ="tu cadena de conexion"} usign comand As New sqlCommand With {.Connection=cn} cmd.comandText="tu query" cn.Open() dtRS.Load(cmdExecuteReader) End Using'del comand End Using'sql conexion Return dtRS EndFunction
suerte
- Propuesto como respuesta Pablo Rubio miércoles, 28 de noviembre de 2018 15:53
- Marcado como respuesta Pablo Rubio lunes, 10 de diciembre de 2018 16:20
Todas las respuestas
-
hola valeria
creo que mejor te funcionaria un codigo asi y utilizando las propiedades del autocomplete del control textbox que se configuran en este caso en el form load
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load txt_razonsocial_cliente.AutoCompleteMode = AutoCompleteMode.Suggest txt_razonsocial_cliente.AutoCompleteSource = AutoCompleteSource.CustomSource txt_razonsocial_cliente.AutoCompleteCustomSource=CargarRazonsocial() End Sub
Como puedes observar creas un metodo cargarRazonsocial() para recorrer la tabla donde tienes todas las razones sociales y poderlas utilizar como autocomplete
public Function CargarRazonSocial() As DataTable Dim dtRS As New DataTable using cn as new sqlConnection with { .connetionString ="tu cadena de conexion"} usign comand As New sqlCommand With {.Connection=cn} cmd.comandText="tu query" cn.Open() dtRS.Load(cmdExecuteReader) End Using'del comand End Using'sql conexion Return dtRS EndFunction
suerte
- Propuesto como respuesta Pablo Rubio miércoles, 28 de noviembre de 2018 15:53
- Marcado como respuesta Pablo Rubio lunes, 10 de diciembre de 2018 16:20
-
buenas noches greg_dorian..gracias por tu respuesta!!
lo que quería lograr con mi código es que justamente la cadena de conexión no quede "dentro" de la aplicación y si poder modificarla según la necesidad desde, por ejemplo un blog de notas..ésta se genera al crear el instalador de la aplicación. (del blog de notas yo puedo modificar el app.config de la cadena). esto es así porque cada pc se conecta a una base de datos distinta, con cadena de conexión distinta.
en visual basic he creado un dataclases y con consultas linq accedo a los datos de la base. por eso mi código lo arme así, pero bueno..no he logrado solucionar el error todavía.
espero haber sido un poco mas clara en mi intención y de nuevo gracias por tu atención!