Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Augusto Costa

Cor no componente DBGrid (QuantumGrid) da DevExpress

Recommended Posts

Eu utilizo o DBGrid da DevExpress e precisava alterar as cores das linhas do grid, eu consegui alterar as cores no evento onCustomDrawCell, atraves do Canvas.Font.color, mas estou na seguinte situação, é uma tela de pedido,e esses pedidos tem situações, Aberto, Cancelado, Fechadas ... etc, e no meu grid eu tenho a opção de filtrar por tipo de situação, e apos esse filtro precisava que a linha ficasse de uma cor dependendo em qual situação o pedido se enquadra-seExemplo:Situação Aberto = cor do texto preto,Situação Cancelado = cor do texto VermelhoJá procurei em alguns topicos aqui no forum mas nao encontrei nada que se relacione com o dbGrid da DevExpress, se alguem poder me ajudar ficarei grato, ahh.. um detalheO campo Situação eu nao trago como coluna do grid, ele esta na minha Query, e acesso ele no clientDataSet.O codigo que fiz eh o seguinte:if ( Main_CDS.FieldByName('SITUACAO').AsString = 'A' ) thenbeginACanvas.Font.Color := clBlack;end;if (Main_CDS.FieldByName('SITUACAO').AsString = 'C') thenbeginACanvas.Font.Color := clRedend;isso esta no evento onCustomDrawCell, e se a ultima linha que trouxer no grid for igual a 1 das duas opções, todas as outras tb terao o mesmo tipo de cor.Obrigado e Abraços!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

ae gente problema solucionado parcialmente, o codigo que vou colocar foi fornecido em outro forum e estou compartilhando com vcs!!Ele funciona para testar campos que estao no grid, eu procurava um para testar campos que estavam na query, mas por enquanto este quebra o galho, qulaquer novidade vou continuar postandoEvento OnCustomDrawCell do TableView:procedure TForm1.cxGrid1DBTableView1CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);var//variavel do tipo de dado que você vai comparar Codigo: Integer;begin if not AViewInfo.Selected then begin//a variavel recebe o valor da linha e da coluna Codigo := VarAsType( cxGrid1DBTableView1.ViewData.Records[AViewInfo.GridRecord.Index].Values[ cxGrid1DBTableView1CODIGO.Index], varInteger );// eh feito o teste para verificar se o valor da variavel satisfaz a condição if ( Codigo mod 2 ) = 0 then//aqui eh alterada a cor da fonte da linha em que o cursor do grid esta posicionado ACanvas.Font.Color := clRed; end;end; Espero que ajude a muitas pessoas esse codigo, nele você tera que alterar de acordo com a sua necessidadeCreditos danielbuona, forum ActiveDelphi.Abraçoss!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá!

 

Estou precisando muito de uma ajuda... preciso colorir a linha do grid da developer express de acordo com o valor do gravado no banco de dados.

 

Estou fazendo assim:

 

procedure TfrmVLP.grdItensPropostaDBBandedTableView1CustomDrawCell(

Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;

AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);

Begin

if grdItensPropostaDBBandedTableView1.DataController.DataSet.FieldByName('PRO_BLQ').AsInteger = 10 then

ACanvas.Brush.Color := clRed

else

ACanvas.Brush.Color := clWhite;

end;

 

Se alguém poder me ajudar, agradeço.

 

eduardo.tr@oi.com.br

eduardo.tr@bol.com.br

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.