none
Hacer consulta desde campo combobox de un datagridview RRS feed

  • Pregunta


  • Buenas tardes :D

     Quiero hacer lo siguiente, hacer consultas desde 2 celdas de un datagrid, es decir. una celda es de tipo texto y la otra de tipo combobox, y quiero que al consultar desde la celda tipo texto se carge el combobox y desde el combobox hacer consulta para cargar los demas datos. 

    Aclaro que ya puedo consultar desde la celda de tipo texbox del datagrid, pero no  entiendo aun como cargarle los datos al  combobox del datagrid y a la ves hacer consulta desde el. 

    Columna 1 | Columna 2

     Celda 1(Tipo de servicio"Textoboxcolumn")     | Celda 2 ( numero de item "comboboxcolumn")

    Saludos.

    uso vb.net y de ide visual studio 2015 base de datos ACCES

         

    @wuasimodo



    • Cambiado Enrique M. Montejo miércoles, 7 de junio de 2017 17:47 Pregunta relacionada con controles de Windows Forms.
    • Editado Wuasimodo miércoles, 6 de septiembre de 2017 1:10
    martes, 30 de mayo de 2017 19:46

Todas las respuestas

  • Lo que querés hacer es: ¿desde la celda de texto mandar un parámetro y en base a este se haga un fill del combobox y luego enviar como parámetro el contenido del combobox.text y se llene el dg?

    ¿A donde consultas? a MSSQL?

    Podés pasar el método que usas para conectarte y consultar?

    El contenido del combo es dinámico o podría estar ya predefinido?

    miércoles, 31 de mayo de 2017 18:54
  • Saludos dynamicuy, lo que quiero es, consultar desde una celda texto en un datagriv y si la consulta es correcta me llene la data de un combobox de el mismo datagrid.(Es el combobox que traen las grillas)

    Consulto a una base de datos en ACCESS

    El contenido del combo es dinamico, lo obtiene de una tabla.

    Por supuesto, es este(Por ejemplo):

    Dim connectionString As String = "Provider=microsoft.ace.oledb.12.0;Data Source=belnando.accdb;Persist Security Info=False"

    La coneccion la hago asi:cnn As New OleDbConnection(connectionString)

    cmd.CommandText = "SELECT * FROM Inventario WHERE serial_pieza=@serial_pieza"



    @wuasimodo

    sábado, 7 de octubre de 2017 3:00
  • Hola Wasi, lo que entiendo de tu consulta es que quieres ingresar en el Combo del DataGridview los datos de una Tabla, mediante el Textbox (columna1) digamos que colocas "Campo1" ,  se recorre la tabla y si el texto coincide con el Name de una columna de la Tabla, el Combo se carga con determinadas columnas. Si esto es así puedes acceder a los datos enlazando la columna Combobox del DataGridview con la Tabla ej:  Digamos que en el Load de tu formulario mediante la consulta que indicas cargas una DataTable (declarada a nivel formulario para poder acceder a ella) y en el evento Cellendedit del DGV colocas

      Private Sub DGV2_CellEndEdit(sender As Object, e As DataGridViewCellEventArgs) Handles DGV2.CellEndEdit
            Dim i As Integer = DGV2.CurrentCell.ColumnIndex
            If i = 0 Then
                For Each col As DataColumn In Tabla.Columns
                    If DGV2.CurrentCell.Value = col.Caption Then
                        Dim CBX As DataGridViewComboBoxColumn = DGV2.Columns(1)
                        CBX.DataSource = Tabla
                        CBX.DisplayMember = "Compo3"
                        CBX.ValueMember = "Campo4"
    
    
                    End If
                Next
    
            End If

     De esta manera si en el textbox colocas el nombre de una de las columnas de la Tabla  se cargará Combobox del DataGridView donde lo que tenga la columna Campo3 será lo que carge y se vea en el comobo y lo que tenga la columna Campo4 el valor de cada item. Es lo que entiendo de tu consulta. Si no es así por favor agrega una imagen "fabricada" como para tener mejor idea de lo que quieres lograr

    Saludos

    sábado, 7 de octubre de 2017 13:02