GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

Colorir Coluna GridView por faixa de numeros


#1

Boa noite.
Criei uma gridview com estoque de produtos, e quantidade de dias no estoque.
Gostaria de colorir a coluna de dias em estoque como de 0 a 30 coluna verde, 31 a 60 laranja e maior que 60 vermelho. Tentei o seguinte codigo abaixo mas nao entendo de programação C#. Podem me ajudar?

 if (e.Row.RowType == DataControlRowType.DataRow)  //VERIFICA SE A LINHA SELECIONADA É UMA LINHA DE DADOS.
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                if (e.Row.Cells[4].ToString >= 9)
                
                {
                    e.Row.Cells[4].BackColor = System.Drawing.Color.Yellow;
                    
                }

            }

#2

Saudações.

Para explicar eu criei um DatagriView: dtgMeuDataGrid
Esse DataGridView Tem 3 colunas:

coluna [0[ = Nome
coluna [1] = Sexo
Coluna ]2] = idade

nome      |     Sexo      |     Idade
 Andre    |  Masculino    |     12
 Ana      |  Feminino     |     18
 Junior   |  Masculino    |     16

Coloquei o seguinte Código no Load do formulário para testar.

//percorre todas as linhas do DataGridView
for (Int32 i = 0; i < dtgMeuDataGrid.Rows.Count; i++)
{
   if (Convert.ToInt32(dtgMeuDataGrid.Rows[i].Cells[2].Value) > 12)
            dtgMeuDataGrid.Rows[i].Cells[2].Style.BackColor = Color.Green;
}
dtgMeuDataGrid.Refresh(); // atualizando o Grid

Rows[i] = numero da linha, exemplo linha[1], depois linha[2] e por fim linha[3]
Cells[2] = Refere-se a terceira coluna "Idade"
Verifico no “IF” se o valor dentro da célula de cada linha na coluna Idade(Cells[2]) é maior que 12.
Se for maior que 12 eu mudo a cor de fundo da célula para verde.

Creio que é isto que você solicitou. Basta aplicar a sua lógica do IF que você vai conseguir o efeito desejado.
Caso sinta alguma dificuldade basta avisar que eu tento ajudar.