none
Formatação de uma linha da gridview baseada na combinação de duas células RRS feed

  • Pergunta

  • Olá, pessoal!

    Tenho uma datagridview onde há duas colunas com dados do tipo single;

    Preciso deixar destacada a linha (ou pelo menos as células) onde o valor destas duas colunas for igual a 0.

    No evento activate do form que contém a grid, é chamado o datagridview.DataSource, pois faço todas as edições necessárias em outro form, deixando a grid somente para exibição dos dados.

    Obrigado!


    quarta-feira, 9 de janeiro de 2013 12:22

Respostas

  • Bem vindo ao fórum

    No o evento CellFormatting do dataGridView, adicione um código similar a este

                for (int i = 0; i < dataGridView1.RowCount - 1; i++)
                {
                    for (int j = 0; j < dataGridView1.ColumnCount; j++)
                    {
    // O seguinte codigo para pintar a celula
                         if (dataGridView1.Rows[i].Cells[j].Value.ToString() == "1" && e.RowIndex == i && e.ColumnIndex == j)
                         {
                             e.CellStyle.BackColor = Color.Yellow;
                             e.CellStyle.ForeColor = Color.Red;
                         }
    // Ou o seguinte codigo para pintar a linha
                        if (dataGridView1.Rows[i].Cells[j].Value.ToString() == "1")
                        {
                            DataGridViewRow row = dataGridView1.Rows[i];
                            row.DefaultCellStyle.BackColor = Color.Yellow;
                            row.DefaultCellStyle.ForeColor = Color.Red;
                        }
                    }
                } 

    Se a propriedade AllowUserToAddRows do dataGridView1 = false, retire '-1' da primeira linha.

    sexta-feira, 11 de janeiro de 2013 00:59