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;
}
}
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.