none
Cargar dato de datagrid a radiobutton

    Pregunta

  • Hola amigos , tengo una duda:

    Como hago para cargar los datos de la grilla en el evento CellClick a un radiobutton? si con los textbox lo hago así:

                 "txt_Observ_Prov.Text = dgv_Proveedores.Item("observ_prov", dgv_Proveedores.SelectedRows(0).Index).Value"

    Como haría para 2 radiobutton?

    "aquí código"

    muchas gracias por la ayuda.


    Juan Fernando

    domingo, 9 de octubre de 2016 18:20

Respuestas

  • JuanfernandoDj,

    ¿La columna es de tipo 'DataGridViewTextBoxColumn'? Lo pregunto porque si sólo conmutas entre dos valores quizá lo adecuado sea una columna de tipo 'DataGridViewCheckBoxColumn'. De igual manera, los controles externos (RadioButton) podrían convertirse en uno sólo de la clase 'CheckBox'.

    Sobre lo que tienes, si la columna contiene los valores: True y False bastará con lo siguiente:

     rbt_Activo.Checked = CStr(fila.Cells("estado_prov").Value) = "True"
     rbt_Inactivo.Checked = CStr(fila.Cells("estado_prov").Value) = "False"

    En caso la columna sea de tipo 'DataGridViewCheckBoxColumn' bastará:

     rbt_Activo.Checked = CBool(fila.Cells("estado_prov").Value)
     rbt_Inactivo.Checked = Not CBool(fila.Cells("estado_prov").Value)


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.


    • Marcado como respuesta Juan_fernando domingo, 9 de octubre de 2016 21:03
    domingo, 9 de octubre de 2016 19:18
  • Hola JuanfernandoDj,

    Si te das cuenta nunca mencionaste cambiar el estado del RadioButton.

    Puedes hacerlo usando un simple IF .

            If CBool(fila.Cells("estado_prov").Value) Then
                rbt_Activo.Checked = True
            Else
                rbt_Inactivo.Checked = True
            End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Juan_fernando domingo, 9 de octubre de 2016 21:04
    domingo, 9 de octubre de 2016 19:19

Todas las respuestas

  • Hola JuanfernandoDj,

    No bastaría con asignarle el valor de la celda a la propiedad .Text del RadioButton ?

    Además, me parece un estás implementando que cuando haga click en una celda, los valores de la fila pasen a ciertos controles ? En caso sea correcto, te convendría usar el evento SelectionChanged.

    Por cierto, para obtener el valor puedes usar el CurrentRow.

     txt_Observ_Prov.Text = CStr(dgv_Proveedores.CurrentRow.Cells("observ_prov").Value)

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 9 de octubre de 2016 18:33
  • OK gracias por el tip del SelectionChanged , la consulta es, cual seria el codigo para el radiobutton, como lo hago no se =(

    Juan Fernando

    domingo, 9 de octubre de 2016 18:49
  • Hola JuanfernandoDj,

    No bastaría con esto ?

       Private Sub dgv_Proveedores_SelectionChanged(sender As .......
            Dim fila = dgv_Proveedores.CurrentRow
    
            txt_Observ_Prov.Text = CStr(fila.Cells("Column1").Value)
            rbEstado.Text = CStr(fila.Cells("Column2").Value)
        End Sub

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 9 de octubre de 2016 18:52
  • Lo que pasa es que cuando pongo ese código, cambia el texto de radio y lo que quiero es que se active:

    Aquí te muestro que, cuando elijo la fila cambia el nombre mas no se activa el radio, el comando actual es así:

      rbt_Activo.Text = CStr(fila.Cells("estado_prov").Value)

     rbt_Inactivo.Text = CStr(fila.Cells("estado_prov").Value)

    Pero como se aprecia cambia el texto de ambos a False o True y no es lo que necesito ='(, creo que iría con un If para que intercale el estado de uno a otro pero eso es lo que no se como hacer, es un campo bit.


    Juan Fernando

    domingo, 9 de octubre de 2016 19:06
  • JuanfernandoDj,

    ¿La columna es de tipo 'DataGridViewTextBoxColumn'? Lo pregunto porque si sólo conmutas entre dos valores quizá lo adecuado sea una columna de tipo 'DataGridViewCheckBoxColumn'. De igual manera, los controles externos (RadioButton) podrían convertirse en uno sólo de la clase 'CheckBox'.

    Sobre lo que tienes, si la columna contiene los valores: True y False bastará con lo siguiente:

     rbt_Activo.Checked = CStr(fila.Cells("estado_prov").Value) = "True"
     rbt_Inactivo.Checked = CStr(fila.Cells("estado_prov").Value) = "False"

    En caso la columna sea de tipo 'DataGridViewCheckBoxColumn' bastará:

     rbt_Activo.Checked = CBool(fila.Cells("estado_prov").Value)
     rbt_Inactivo.Checked = Not CBool(fila.Cells("estado_prov").Value)


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.


    • Marcado como respuesta Juan_fernando domingo, 9 de octubre de 2016 21:03
    domingo, 9 de octubre de 2016 19:18
  • Hola JuanfernandoDj,

    Si te das cuenta nunca mencionaste cambiar el estado del RadioButton.

    Puedes hacerlo usando un simple IF .

            If CBool(fila.Cells("estado_prov").Value) Then
                rbt_Activo.Checked = True
            Else
                rbt_Inactivo.Checked = True
            End If

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta Juan_fernando domingo, 9 de octubre de 2016 21:04
    domingo, 9 de octubre de 2016 19:19
  • Willams Morales y Joel C. Naupa Crispín, muchas gracias por ayuda, las 2 soluciones son funcionables, cierro la consulta.


    Juan Fernando

    domingo, 9 de octubre de 2016 21:05