none
Mostrar dato consulta en textbox RRS feed

  • Pregunta

  • Muy buenas,

    Estoy realizando un formulario que filtra mediante un textbox los registros de un datagrid por el campo "referencia".

     Dim conexion As OleDb.OleDbConnection
        Dim DT As New DataTable
        Dim BdS As Windows.Forms.BindingSource
        Dim Scon As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source= BBDD.mdb"
    
    Dim MiDa As New OleDbDataAdapter("SELECT General.referencia FROM [General] WHERE General.referencia LIKE '%" & TextBox1.Text & "%'", conexion)
            DT.Clear()
            MiDa.Fill(DT)


    El problema es que necesito que el datagrid solo muestre la referencia, pero al hacer click sobre la celda, debe de mostrarse en otro textbox el ID asignado a ese registro en la misma tabla de access y no consigo hacerlo sin incluir dicho campo en el datagrid.

    Espero que me podáis echar una mano.

    Gracias de antemano!


    lunes, 2 de septiembre de 2013 15:20

Respuestas

  • hola

    pero en el query deberias incluir el id

    SELECT Id, General.referencia FROM [General] ....
    
    para despues usar


    Dim row As DataRow = CType(DataGridView1.SelectedRows(0).DataBoundItem, DataRowView).Row

    textboxid.Text = CStr(row["id"])

    saludos

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina




    • Editado Leandro TuttiniMVP lunes, 2 de septiembre de 2013 15:32
    • Propuesto como respuesta José Barba lunes, 2 de septiembre de 2013 15:35
    • Marcado como respuesta Pirles martes, 3 de septiembre de 2013 15:11
    lunes, 2 de septiembre de 2013 15:31
  • Hola:

     Podrías cargar el valor del ID en una columna oculta, después al al hacer "Click" o "DobleClick" en una de las celdas enviar el valor de la celda que contiene el Id al textbox que deseas, de esta manera no necesitas hacer otra query y consumir recursos innecesarios, ya que tendrás la información ya cargada pero sin que el usuario la vea...

    Inténtalo si no puedes avisas para facilitarte el código.


    Saludos desde Monterrey, Nuevo León, México!!!

    • Marcado como respuesta Pirles martes, 3 de septiembre de 2013 15:11
    martes, 3 de septiembre de 2013 14:18

Todas las respuestas

  • hola

    pero en el query deberias incluir el id

    SELECT Id, General.referencia FROM [General] ....
    
    para despues usar


    Dim row As DataRow = CType(DataGridView1.SelectedRows(0).DataBoundItem, DataRowView).Row

    textboxid.Text = CStr(row["id"])

    saludos

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina




    • Editado Leandro TuttiniMVP lunes, 2 de septiembre de 2013 15:32
    • Propuesto como respuesta José Barba lunes, 2 de septiembre de 2013 15:35
    • Marcado como respuesta Pirles martes, 3 de septiembre de 2013 15:11
    lunes, 2 de septiembre de 2013 15:31
  • Hola Leandro,

    Claro, pero si lo hago de esa forma en el datagrid se mostrará también el ID, y me preguntaba si hay alguna forma (quizás realizando otra query en el evento cellclick del grid???) para que no se muestre el ID hasta ese momento.

    Muchas gracias

    martes, 3 de septiembre de 2013 7:20
  • Hola:

     Podrías cargar el valor del ID en una columna oculta, después al al hacer "Click" o "DobleClick" en una de las celdas enviar el valor de la celda que contiene el Id al textbox que deseas, de esta manera no necesitas hacer otra query y consumir recursos innecesarios, ya que tendrás la información ya cargada pero sin que el usuario la vea...

    Inténtalo si no puedes avisas para facilitarte el código.


    Saludos desde Monterrey, Nuevo León, México!!!

    • Marcado como respuesta Pirles martes, 3 de septiembre de 2013 15:11
    martes, 3 de septiembre de 2013 14:18
  • Hola Luís,

    Perfecto! no había caído en eso. 

    Lo he hecho con:

    Me.DataGridView1.Columns(1).Visible = False

    Y ha ido de perlas.

    Un saludo!

    martes, 3 de septiembre de 2013 15:11