Fórum mudando cor da fonte do cxGrid #460229
05/11/2013
0
Estou usando um código semelhante ao que eu usava no grid padrão do Delphi mas quando ele localiza as minhas contas ele pinta a linha da cor incorreta e quando eu clico na linha ele coloca a cor correta.
with ds.DataSet do
begin
if FieldByName('QUITADA').AsString = 'S' then
ACanvas.Brush.Color := clGreen;
if (FieldByName('DATAVENCIMENTO').AsDateTime > date) then
ACanvas.Brush.Color := clYellow;
if (FieldByName('DATAVENCIMENTO').AsDateTime <= date) and
(FieldByName('QUITADA').AsString = 'N') then
ACanvas.Brush.Color := clRed;
end;
Nícolas Braz
Curtir tópico
+ 0Posts
05/11/2013
Thiago Irrazabal
if (ARecord is TcxGridDataRow) and (ARecord.Values[rdbConsultaNewQUITADA.Index] = 'S') then
AStyle.Font.Color := clGreen
else if (ARecord is TcxGridDataRow) and (ARecord.Values[rdbConsultaNewDATAVENCIMENTO.Index] > Date) then
AStyle.Font.Color := clYellow
else if (ARecord is TcxGridDataRow) and (ARecord.Values[rdbConsultaNewDATAVENCIMENTO.Index] <= Date) and (ARecord.Values[rdbConsultaNewQUITADA.Index] = 'N') then
AStyle.Font.Color := clRed;
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
05/11/2013
Nícolas Braz
if (ARecord is TcxGridDataRow) and (ARecord.Values[rdbConsultaNewQUITADA.Index] = 'S') then
AStyle.Font.Color := clGreen
else if (ARecord is TcxGridDataRow) and (ARecord.Values[rdbConsultaNewDATAVENCIMENTO.Index] > Date) then
AStyle.Font.Color := clYellow
else if (ARecord is TcxGridDataRow) and (ARecord.Values[rdbConsultaNewDATAVENCIMENTO.Index] <= Date) and (ARecord.Values[rdbConsultaNewQUITADA.Index] = 'N') then
AStyle.Font.Color := clRed;
Eu tentei o código usando o dataset e o problema continua, eu criei os estilos já também mas eu não entendi o que é esse "RDBCONSULTA"
Gostei + 0
05/11/2013
Nícolas Braz
if (ARecord is TcxGridDataRow) and (ARecord.Values[dbGrid1DBTableView1QUITADA.Index] = 'S') then
AStyle.Font.Color := clGreen
else if (ARecord is TcxGridDataRow) and (ARecord.Values[dbGrid1DBTableView1DATAVENCIMENTO.Index] > Date) then
AStyle.Font.Color := clYellow
else if (ARecord is TcxGridDataRow) and (ARecord.Values[dbGrid1DBTableView1DATAVENCIMENTO.Index] <= Date) and
(ARecord.Values[dbGrid1DBTableView1QUITADA.Index] = 'N') then
AStyle.Font.Color := clRed;Gostei + 0
05/11/2013
Thiago Irrazabal
if (ARecord is TcxGridDataRow) and (ARecord.Values[dbGrid1DBTableView1QUITADA.Index] = 'S') then AStyle.Font.Color := cxStyleGreen.Font.Color else if (ARecord is TcxGridDataRow) and (ARecord.Values[dbGrid1DBTableView1DATAVENCIMENTO.Index] > Date) then AStyle.Font.Color := cxStyleYellow.Font.Color else if (ARecord is TcxGridDataRow) and (ARecord.Values[dbGrid1DBTableView1DATAVENCIMENTO.Index] <= Date) and (ARecord.Values[dbGrid1DBTableView1QUITADA.Index] = 'N') then AStyle.Font.Color := cxStyleRed.Font.Color;
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
05/11/2013
Nícolas Braz
Adicionei um cxStyleRepository adicionei as cores que eu queria e no evento onGetContentStyle.
if ARecord.Values[dbGrid1DBTableView1QUITADA.Index] = 'S' then AStyle := cxGreen else if ARecord.Values[dbGrid1DBTableView1DATAVENCIMENTO.Index] > Date then AStyle := cxYellow else if (ARecord.Values[dbGrid1DBTableView1DATAVENCIMENTO.Index] <= Date) and (ARecord.Values[dbGrid1DBTableView1QUITADA.Index] = 'N') then AStyle := cxRed;
Valeu :D
Gostei + 0
05/11/2013
Thiago Irrazabal
Att,
Thiago Irrazabal de Oliveira.
Gostei + 0
05/11/2013
Nícolas Braz
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)