none
cambiar color fila del datagridview RRS feed

  • Pregunta

  • Buenas estoy tratando de cambiar el color de una fila del datagridview, el problema es que solo me sirve para la primera linea, quisiera saber como cambiarlo a la siguiente cuando traiga los datos de la base y estos sean cargados y que se le quite el color a la que esta marcada.

    Estoy usando dgvprueba.CurrentRow.DefaultCellStyle.BackColor=Color.Yellow;

    Agradezco la ayuda.:)

    jueves, 6 de septiembre de 2012 23:48

Respuestas

  • Muchas Gracias, lo resolví de la siguiente manera
    foreach (DataGridViewRow rowp in dgvLineaCompra.Rows)
                        {
                            int kia = rowp.Index;
                            
                            if (kia == p)
                            {
                                dgvLineaCompra.Rows[p].DefaultCellStyle.BackColor = Color.Yellow;
                            }
    
    
                            else if (kia!= p)
                            {
                                dgvLineaCompra.Rows[kia].DefaultCellStyle.BackColor = Color.White;
                            }
                        }
    

    • Marcado como respuesta Caro8819 miércoles, 12 de septiembre de 2012 17:52
    miércoles, 12 de septiembre de 2012 17:27

Todas las respuestas

  • Hola Caro!

    yo he hecho algo parecido, tenia que pintar las filas de un grid, que los datos venian de una coleccion en mi caso, pero creo que lo que yo hice te puede servir, lo que he hecho es en el evento Row_loaded, que se lanza cada vez que se rellena una fila, pinto la fila que se ha cargado con el color que quiera:

    private void grid_RowLoaded(object sender, RowLoadedEventArgs e)
    {
         e.Row.Background = new SolidColorBrush(Colors.Yellow);
    }

    Asi pinta todas las filas que se vayan cargando en el grid.

    Espero que te sirva!

    lunes, 10 de septiembre de 2012 10:10
  • Muchas Gracias, lo resolví de la siguiente manera
    foreach (DataGridViewRow rowp in dgvLineaCompra.Rows)
                        {
                            int kia = rowp.Index;
                            
                            if (kia == p)
                            {
                                dgvLineaCompra.Rows[p].DefaultCellStyle.BackColor = Color.Yellow;
                            }
    
    
                            else if (kia!= p)
                            {
                                dgvLineaCompra.Rows[kia].DefaultCellStyle.BackColor = Color.White;
                            }
                        }
    

    • Marcado como respuesta Caro8819 miércoles, 12 de septiembre de 2012 17:52
    miércoles, 12 de septiembre de 2012 17:27
  • la p de donde sale , que significa p ???
    sábado, 28 de marzo de 2015 13:32
  • ejemplo:

    private void DGVConsulta_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)

            {
                //DGVConsulta.Rows[e.RowIndex].Cells[0].Value
                int p = e.RowIndex;
                int kia=0;
                foreach (DataGridViewRow rowp in DGVConsulta.Rows)
                {
                    kia = rowp.Index;

                    if (kia == p)
                    {
                        DGVConsulta.Rows[p].DefaultCellStyle.BackColor = Color.Yellow;
                    }
                    else if (kia != p)
                    {
                        DGVConsulta.Rows[kia].DefaultCellStyle.BackColor = Color.White;
                    }
                }
            }

    lunes, 13 de abril de 2015 22:41