none
Seleccionar el primer item de DataGridView RRS feed

  • Pregunta

  • Hola

    He intentado seleccionar(que pinte el primer item) el primer item de resultados que cargo en una grilla, pero no he podido lograrlo, las dos primeras columnas la tengo ocultas.

    private void FormatoDgv()
            {
                dgvBusqueda.AlternatingRowsDefaultCellStyle = new DataGridViewCellStyle();
                dgvBusqueda.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow;
                dgvBusqueda.DefaultCellStyle.BackColor = Color.LightSkyBlue; 
    	    dgvBusqueda.Rows[0].Selected = true;
                dgvBusqueda.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                ChangeWidthColumn();
            }

    Otra manera

    private void FormatoDgv()
            {
                dgvBusqueda.AlternatingRowsDefaultCellStyle = new DataGridViewCellStyle();
                dgvBusqueda.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow;
                dgvBusqueda.DefaultCellStyle.BackColor = Color.LightSkyBlue;
                if (dgvBusqueda.Rows.Count > 0)
                {
                    dgvBusqueda.CurrentCell = dgvBusqueda.Rows[0].Cells[2];
                    dgvBusqueda.Rows[0].Selected = true;
                } 
                dgvBusqueda.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                ChangeWidthColumn();
            }

    Con ninguna de las dos opciones he podido lograrlo, es ¿como si tendría que darle el foco primero a la grilla?.

    Saludos!


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    martes, 23 de octubre de 2018 12:04

Respuestas

  • Buenas,

    El problema puede que venga de que estas diciendole que la selección sea de row, pero solo le seleccionas una celda, prueba así:

    private void FormatoDgv()
    {
        dgvBusqueda.AlternatingRowsDefaultCellStyle = new DataGridViewCellStyle();
                
        dgvBusqueda.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow;
        dgvBusqueda.DefaultCellStyle.BackColor = Color.LightSkyBlue;
                
        dgvBusqueda.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        ChangeWidthColumn();
        if (dgvBusqueda.Rows.Count > 0)
        {
            dgvBusqueda.CurrentCell = dgvBusqueda.Rows[0].Cells[2];
            dgvBusqueda.Rows.Selected = true;
        } 
    }

    Nos comentas si tienes dudas

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog


    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    • Marcado como respuesta Pedro Ávila martes, 23 de octubre de 2018 12:50
    martes, 23 de octubre de 2018 12:32
  • Hola @Jorge

    La solución fue poner el select y el FullRowSelect debajo del ChanguedWidhColum

    dgvBusqueda.AlternatingRowsDefaultCellStyle = new DataGridViewCellStyle();
                dgvBusqueda.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow;
                dgvBusqueda.DefaultCellStyle.BackColor = Color.LightSkyBlue; 
                dgvBusqueda.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                ChangeWidthColumn();
                dgvBusqueda.Rows[0].Selected = true;
                

    Igualmente lo que me indicas también es valida igual funciona.

    Gracias 


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    martes, 23 de octubre de 2018 12:50

Todas las respuestas

  • Buenas,

    El problema puede que venga de que estas diciendole que la selección sea de row, pero solo le seleccionas una celda, prueba así:

    private void FormatoDgv()
    {
        dgvBusqueda.AlternatingRowsDefaultCellStyle = new DataGridViewCellStyle();
                
        dgvBusqueda.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow;
        dgvBusqueda.DefaultCellStyle.BackColor = Color.LightSkyBlue;
                
        dgvBusqueda.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
        ChangeWidthColumn();
        if (dgvBusqueda.Rows.Count > 0)
        {
            dgvBusqueda.CurrentCell = dgvBusqueda.Rows[0].Cells[2];
            dgvBusqueda.Rows.Selected = true;
        } 
    }

    Nos comentas si tienes dudas

    Atte


    Jorge Turrado Ferrero

    Mis repositorios en GitHub

    Mi Blog


    Ranking GitHub Euskadi
    Ranking GitHub Alava

    No olvides votar mi comentario si te ha ayudado y marcarlo como respuesta si ha sido la solución, con eso ayudas a mejorar mi reputación en la comunidad y a identificar la respuesta a la gente que tenga el mismo problema.

    • Marcado como respuesta Pedro Ávila martes, 23 de octubre de 2018 12:50
    martes, 23 de octubre de 2018 12:32
  • Hola @Jorge

    La solución fue poner el select y el FullRowSelect debajo del ChanguedWidhColum

    dgvBusqueda.AlternatingRowsDefaultCellStyle = new DataGridViewCellStyle();
                dgvBusqueda.AlternatingRowsDefaultCellStyle.BackColor = Color.LightGoldenrodYellow;
                dgvBusqueda.DefaultCellStyle.BackColor = Color.LightSkyBlue; 
                dgvBusqueda.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
                ChangeWidthColumn();
                dgvBusqueda.Rows[0].Selected = true;
                

    Igualmente lo que me indicas también es valida igual funciona.

    Gracias 


    Pedro Ávila
    "El hombre sabio querrá estar siempre con quien sea mejor que él."
    Lima - Perú


    martes, 23 de octubre de 2018 12:50