Fórum DevExpress - Alguém sabe com pintar cxGrid...? #344844
22/08/2007
0
[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
Curtir tópico
+ 0Posts
23/08/2007
Walfrido
Gostei + 0
16/07/2008
Ajmsistemas
eu já tentei algumas formas aqui mais não consegui :(
Obrigado!
Gostei + 0
11/03/2011
Osmanito Brito
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;
Gostei + 0
17/01/2018
Geraldo Rodrigues
Gostei + 0
06/01/2020
áureo Bordignon
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].
Gostei + 0
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].
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)