none
destacar linhas no DataGrid somente as datas de hoje. RRS feed

  • Pergunta

  • ola pessoal, gostaria de saber se tem como destacar as linhas de um DataGrid, que a data for igual a data de hoje, por exemplo em um DataGrid tenho uma coluna Data, e nessa coluna tem varias datas, quero destacar somente o que for igual a data de hoje, destacar a linha inteira.

    Visual Studio 2010, windowsform, C#, MySql.

    obrigado.

    sexta-feira, 25 de outubro de 2013 11:50

Respostas

  • Porter, de uma olhada na rotina abaixo:

    grid.Rows[e.RowIndex].DefaultCellStyle.BackColor = grid["colDATA", e.RowIndex].Value.ToString() == DateTime.Now().ToShortDateString() ? 
    Color.Yellow : Color.White;

    Essa rotina acima, ele esta fazendo um "if", é mesma coisa que fazer isso:

    if (grid["colDATA", e.RowIndex].Value.ToString() == DateTime.Now.ToShortDateString())
    {              
    grid.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Yellow;
    }
    else
    {
    grid.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
    }

    Qualquer dúvida, só falar.

    Abraço!

    • Sugerido como Resposta Felipe Duarte (FD) sexta-feira, 25 de outubro de 2013 15:51
    • Marcado como Resposta Porter Porter sexta-feira, 25 de outubro de 2013 16:50
    sexta-feira, 25 de outubro de 2013 12:44
  • obrigado Felipe e Diego, deu certo.
    • Marcado como Resposta Porter Porter sexta-feira, 25 de outubro de 2013 15:04
    sexta-feira, 25 de outubro de 2013 15:04

Todas as Respostas

  • Porter, de uma olhada na rotina abaixo:

    grid.Rows[e.RowIndex].DefaultCellStyle.BackColor = grid["colDATA", e.RowIndex].Value.ToString() == DateTime.Now().ToShortDateString() ? 
    Color.Yellow : Color.White;

    Essa rotina acima, ele esta fazendo um "if", é mesma coisa que fazer isso:

    if (grid["colDATA", e.RowIndex].Value.ToString() == DateTime.Now.ToShortDateString())
    {              
    grid.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Yellow;
    }
    else
    {
    grid.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
    }

    Qualquer dúvida, só falar.

    Abraço!

    • Sugerido como Resposta Felipe Duarte (FD) sexta-feira, 25 de outubro de 2013 15:51
    • Marcado como Resposta Porter Porter sexta-feira, 25 de outubro de 2013 16:50
    sexta-feira, 25 de outubro de 2013 12:44
  • Fala ai Porter blxx

    cara mapea o evento CellFormatting do seu DataGrid e faz assim:

            private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e)
            {
                foreach (DataGridViewRow row in dataGridView1.Rows)
                {
                    if (Convert.ToDateTime(row.Cells[1].Value) == DateTime.Today)
                    {
                        row.DefaultCellStyle.BackColor = Color.Red;
                    }
                } 
            }

    o row.Cells[1] é a posição da sua coluna Data Blxxx Lembrando que começa a contar a partir do zero !!!!!!

    abraço ;)



    Diego Almeida Barreto
    System Analyst / Software Developer

    sexta-feira, 25 de outubro de 2013 13:03
  • obrigado Felipe e Diego, deu certo.
    • Marcado como Resposta Porter Porter sexta-feira, 25 de outubro de 2013 15:04
    sexta-feira, 25 de outubro de 2013 15:04
  • Não esquece de marcar como resposta!!!

    abraço!!!!



    Diego Almeida Barreto
    System Analyst / Software Developer


    sexta-feira, 25 de outubro de 2013 16:47