none
colorir linha do datagridview RRS feed

  • Pergunta

  • Estou com uma duvida, queria colorir as linha do grid de acordo com um if, mas mesmo sem esse if ele não deixa uma linha colorida. OLHA O CODIGO

      if (produtoDao.selectFullProduto().Rows.Count > 0)
                    {
    
                        Produto produto = new Produto();
                        produto.Id = -1;
                        produto.Codigo = "-1";
    
                        dgv_Estoque.DataSource = produtoDao.selectProdutoComIdECodigo(produto);
                        dgv_Estoque.ClearSelection();
    
                        foreach (DataGridViewRow Linha in  dgv_Estoque.Rows)
                        {
                            if (Convert.ToInt32(produtoDao.selectProdutoComIdECodigo(produto).Rows[3]["Quantidade"]) <= 10)
                            {
                            Linha.DefaultCellStyle.BackColor = Color.Pink;
                            
                           }
                        }
                        
                        dgv_Estoque.ClearSelection();
                    }
                    else
                    {
                        Message("Não Existe Produtos Cadastrados","Aviso");
                    }
    Se alguém puder me ajudar


    __________________________________________________________________________________________________________ Atenciosamente, Mike Rodrigues De Lima.

    domingo, 14 de dezembro de 2014 17:25

Todas as Respostas

  • Mike bom dia,

    Tente colocar a condicional que formata as linhas no CellFormatting do Grid, por que dessa forma, no momento do bind ele percorre linha a linha e dessa forma você consegue estilizar a linha corrente.

    Para preencher você teria algo como:

    this.dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = "COLOR";

    Att.


    Guilherme Silva Cardoso

    segunda-feira, 15 de dezembro de 2014 12:37
  • Mike,

    Tenta isso aqui :

     if (produtoDao.selectFullProduto().Rows.Count > 0)
                {
    
                    Produto produto = new Produto();
                    produto.Id = -1;
                    produto.Codigo = "-1";
    
                    dgv_Estoque.DataSource = produtoDao.selectProdutoComIdECodigo(produto);
                    dgv_Estoque.ClearSelection();
    
    
                    foreach (DataGridViewRow linha in dgv_Estoque.Rows)
                    {
                        if (Convert.ToInt32(linha.Cells["Quantidade"].Value) <= 10)
                        {
                            linha.DefaultCellStyle.BackColor = Color.Red;
                        }
                    }
    
                    dgv_Estoque.ClearSelection();
                }
                else
                {
                    Message("Não Existe Produtos Cadastrados", "Aviso");
                }



    Diego Almeida Barreto
    System Analyst / Software Developer

    segunda-feira, 15 de dezembro de 2014 15:03