none
Alterar cor de linha em GridView RRS feed

  • Pergunta

  • Eu tenho uma consulta em um GridView. Eu gostaria que algumas linhas sejam apresentadas em cores diferentes. No meu GridView eu tenho uma linha de cada cor. Só que caso o registro seja Bloqueado eu gostaria de mostrar essa linha em cinza. Algué sabe se isso é possivel?

    Se sim, como que eu posso fazer isso?

    Agradeço desde já.

    quarta-feira, 23 de fevereiro de 2011 14:26

Respostas

  • Thiago,

    Faça isso no evento RowDataBound dessa maneira:

    protected void GrdAlteraCor_RowDataBound(object sender, GridViewRowEventArgs e)
      {   
        // Alerta para o dia do vencimento do contrato deixando em vermelho
        switch (e.Row.RowType)
        {
         case DataControlRowType.DataRow:
          if (Convert.ToInt32(e.Row.Cells[8].Text) <= 30) { e.Row.CssClass = "fontAmarela12N"; e.Row.ToolTip = "Contrato próximo do vencimento."; }
          if (Convert.ToInt32(e.Row.Cells[9].Text) == 2) { e.Row.CssClass = "fontVermelho12N"; e.Row.ToolTip = "Parceiro Inativo."; }
     
          break;
         case DataControlRowType.Header:
     
          break;
         case DataControlRowType.Footer:
    
          break;
        }
      }
    
    Nesse exemplo ele deixa a fonte em vermelho caso o contrato esteja para vencer você também pode alterar a cor do cabeçalho e do rodapé

     

     


    Wesley Lisboa
    quarta-feira, 23 de fevereiro de 2011 14:59

Todas as Respostas

  • Thiago, tem um case semelhante ao que vc procura.

    Da uma lida, vai precisar de uma adaptada, mas deve te dar uma luz.

     

    http://social.msdn.microsoft.com/forums/pt-br/aspnetpt/thread/D2ED17E3-1DB2-4381-AB3F-9DF61652ED6C


    A resposta foi útil? Marque-a para que outros possam utiliza-la também! Meu Blog: WareHouse
    quarta-feira, 23 de fevereiro de 2011 14:44
  • Aparentemente não me ajuda, porque ele é disparado a partir de um evento. Aparentemente ele deveria ser na hora que o GridView fosse montado.

    Mas mesmo assim brigado.

    quarta-feira, 23 de fevereiro de 2011 14:48
  • Thiago,

    Faça isso no evento RowDataBound dessa maneira:

    protected void GrdAlteraCor_RowDataBound(object sender, GridViewRowEventArgs e)
      {   
        // Alerta para o dia do vencimento do contrato deixando em vermelho
        switch (e.Row.RowType)
        {
         case DataControlRowType.DataRow:
          if (Convert.ToInt32(e.Row.Cells[8].Text) <= 30) { e.Row.CssClass = "fontAmarela12N"; e.Row.ToolTip = "Contrato próximo do vencimento."; }
          if (Convert.ToInt32(e.Row.Cells[9].Text) == 2) { e.Row.CssClass = "fontVermelho12N"; e.Row.ToolTip = "Parceiro Inativo."; }
     
          break;
         case DataControlRowType.Header:
     
          break;
         case DataControlRowType.Footer:
    
          break;
        }
      }
    
    Nesse exemplo ele deixa a fonte em vermelho caso o contrato esteja para vencer você também pode alterar a cor do cabeçalho e do rodapé

     

     


    Wesley Lisboa
    quarta-feira, 23 de fevereiro de 2011 14:59
  • ele quer mudar a cor do fundo, nao do Texto...

    usa "e.Row.BackColor" no código acima que deve funcionar.

     


    A resposta foi útil? Marque-a para que outros possam utiliza-la também! Meu Blog: WareHouse
    quarta-feira, 23 de fevereiro de 2011 15:57