none
Como mudar a cor de uma linha do Datagrid a partir de uma condição

    Question

  • Boa tarde pessoal, sei que tem posts relacionados a esse assunto aqui no forum mais nenhum me ajudou, segui os exemplos mais sempre estou tendo erros diferentes.

    Gostaria de que ao abrir o form que contem a grid que está sendo preenchida com dados do banco, verificasse se já passou 5 dias da data da abertura(campo da grid) e mudasse a cor para vermelho.

    tentei fazer pegando outro campo da grid mais tbm não consegui, segue o codigo

     private void GridVizualizarOS_RowPrePaint(object sender, DataGridViewRowPrePaintEventArgs e)
            {
                DataGridView dgv = sender as DataGridView;

                int valor = int.Parse(dgv.Rows[e.RowIndex].Cells[0].Value.ToString());
                {   
                        if (valor >= 20)
                        {                        
                            dgv.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Red;                        
                            // dgv.Rows[e.RowIndex].DefaultCellStyle.ForeColor = Color.Red;
                        }
                        else
                            dgv.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
                    }
            }

    Erro: Object reference not set to an instance of an object.

    Saturday, December 08, 2012 7:07 PM

Answers

  • Aki vai um exemplo :

     private void colorir_datagridview(DataGridView view)
            {
                foreach (DataGridViewRow rows in this.dataGridView1.Rows)
                {
                    int n = Convert.ToInt32(rows.Cells["Age"].Value);
                    {
                        if(n >= 20)
                        {
                            view.Rows[rows.Index].DefaultCellStyle.BackColor = Color.Red;
                        }
                    }

                }
               
            }


    A flower cannot blossom without sunshine, and man cannot live without love.

    • Proposed as answer by marcos alves Tuesday, December 11, 2012 12:00 PM
    Saturday, December 08, 2012 7:46 PM
    Moderator