DevExpress - Alguém sabe com pintar cxGrid...?

22/08/2007

0

Tenho uma ocluna que guarda os seguintes dados
[AAA]
[AAB]
[ABB]
[BBB]

Gostaria de destacar cada um com uma cor diferente, mas não estou conseguindo fazer...

Teintei assim:

neste evento coloquei assim...

procedure TfrmProcurar.cxGrid1DBTableView1StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
begin
if (dsProcurar.DataSet.FieldByName(´STATUS´).AsString = ´TIS´) then
BEGIN
cxStyle1.Font.Color := clBlack;
cxStyle1.Color := clLime;
AStyle := cxStyle1;
END;
end;

e completei neste evento assim
procedure TfrmProcurar.cxGrid1DBTableView1CustomDrawCell(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);
begin
if (dsProcurar.DataSet.FieldByName(´STATUS´).AsString = ´TIS´) then
BEGIN
ACanvas.Font.Color := clWhite;
ACanvas.Brush.Color := clLime;
END;
end;


Ele está pintando somente quando a linha é selecionada, deixando todas de formas desorganizadas...


Walfrido

Walfrido

Responder

Posts

23/08/2007

Walfrido

resovido... :)


Responder

16/07/2008

Ajmsistemas

Ei amigo, poderia postar ae como você fez para zebrar ´´ o cxgrid?

eu já tentei algumas formas aqui mais não consegui :(

Obrigado!


Responder

11/03/2011

Osmanito Brito

Amigos, é uma pena quando alguém faz uma pergunta num Fórum e não colabora com a comunidade.
O amigo acima perguntou e se alguém tivesse respondido ele teria se beneficiado.
Como ninguém respondeu, ou ele conseguiu encontrar a solução, não quis publicá-la.
O fórum não é só para perguntar, é para ajudar. Caso vc encontre uma solução vc mesmo para uma dificuldade sua, poste aqui para ajudar a comunidade.

Estou postando a solução para esta dúvida abaixo. Espero que ajudem vocês.

OSMANITO TORRES

procedure TFrmentmat.grid_dbCustomDrawCell(Sender: TcxCustomGridTableView;
  ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
  var ADone: Boolean);
begin

 if AViewInfo.GridRecord.Values[TcxGridDBTableView(Sender).GetColumnByFieldName('quitada').Index] = False then begin
    ACanvas.Font.Color := clRed;
    ACanvas.Font.Style := [fsBold];
 end;

end;
Responder

17/01/2018

Geraldo Rodrigues

Valeu, obrigado pela dica...
Responder

06/01/2020

áureo Bordignon

Eu tive o mesmo problema.
O que acontece é que você não deve comparar o resultado da célula com o conteúdo de um dataset e sim utilizar o conteúdo do próprio dataset, utilizando através da propriedade AViewInfo.GridRecord.Values[x].
Responder

06/01/2020

áureo Bordignon


corrigindo:
Eu tive o mesmo problema.
O que acontece é que você não deve comparar o resultado da célula com o conteúdo de um dataset e sim utilizar o conteúdo de uma célula na própria grid, utilizando através da propriedade AViewInfo.GridRecord.Values[x].
Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar