none
obtener el valor de una columna seleccionando la fila de un DataGridView() RRS feed

  • Pregunta

  • Hola como están mi duda es la siguiente estoy tratando de capturar el id de una tabla usando WindowsForm y gridview.

    con esto se que fila esta seleccionada necesito esa fila en la columna [0]

    posicionRows = dgvEmpresa.CurrentRow.Index;

    buscando en blogs y documentacion encontre algo pero no pude implementarlo.

    cree un objeto

    DataGridVew prueba=new DataGridView();

    luego hice 

    string idCapturadoEmpresa;

    idCapturadoEmpresas=prueba.CurrentRow.Cell[0].Value.ToString();

    a eso despues lo queria parsear a int o algo pero me tira un error "System.NullReferenceExeption"

    tendrían alguna idea de como podría capturar solo el id. si bien puedo tomar el dato habilitando el select de el gridview y recorriendo el array pero no me parece correcto hacerlo. lo que quiero es que el usuario al seleccionar la fila inmediatamente pueda modificar o eliminar los datos en la tabla también podría pedirle el id por pantalla pero quiero hacerlo mas amigable.

    Si podrian ayudarme. ya me estaria volviendo loco.


    miércoles, 24 de mayo de 2017 13:45

Respuestas

  • Recupera una referencia de la fila seleccionada y el valor correspondiente a la columna especificada, por ejemplo:

    var filaSeleccionada = dataGridView1.CurrentRow;
    
    if (filaSeleccionada != null) //¿Existe una referencia?
    {
    	int id = Convert.ToInt32(filaSeleccionada.Cells[0].Value);
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 24 de mayo de 2017 13:52

Todas las respuestas

  • Recupera una referencia de la fila seleccionada y el valor correspondiente a la columna especificada, por ejemplo:

    var filaSeleccionada = dataGridView1.CurrentRow;
    
    if (filaSeleccionada != null) //¿Existe una referencia?
    {
    	int id = Convert.ToInt32(filaSeleccionada.Cells[0].Value);
    }


    Espero que la información proporcionada te haya sido de utilidad, quedo atento a tus comentarios.
    miércoles, 24 de mayo de 2017 13:52
  • hola

    >>cree un objeto DataGridVew prueba=new DataGridView();

    pero se supone que el grid debe estar en el form, si haces un new no tendras ninguna seleccion por lo tanto CurrentRow sera siempre null

    ubica un DataGridView en el form y accede a este por el nombre, no uses el new

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    miércoles, 24 de mayo de 2017 13:54
  • muchas gracias ! no use el if por que valido que los botones se habiliten o desabiliten segun la persona seleccione o no datos del grid. 
    miércoles, 24 de mayo de 2017 14:16
  • Leandro se me ocurrió hacer lo del objeto por que en tu blog leí de hacer :

    GridViewRow row = gvPerson.SelectedRow;

    string cellval = row.Cells[0].Text;

    pero me sirve saber que al crear el new lo dejo vacio ahora con lo que me dices tambien me di cuenta que cree el objeto como variable global y en un metodo estaba capturando el click del grid entonces nunca lo iba a llenar ! , gracias por su ayuda.

    miércoles, 24 de mayo de 2017 14:21