Fórum dbgrid_zebrado #11171
05/11/2009
0
if not(gdSelected in State) then
begin
if DM.cds_parametros.fieldbyname('cor').AsInteger = 0 then
begin
DBGrid1.Canvas.Brush.Color := $00E6FFEB ;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.DefaultDrawDataCell(rect,Column.Field,State);
end
else
begin
DBGrid1.Canvas.Brush.Color := clSkyBlue ;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.DefaultDrawDataCell(rect,Column.Field,State);
end;
end; este comando eu uso mas quando pinto um célula específica ou coloca uma figura eu perco estas configurações
Jose Boas
Curtir tópico
+ 0Posts
06/11/2009
Jose Boas
const Rect: TRect; DataCol: Integer; Column: TColumn;
State: TGridDrawState);
begin
inherited;
// pintar somente a celula if DMConsulta.cds_conaux2.FieldByName('codcor').AsInteger = 1 then
begin
DBGrid3.Columns[3].Color := clYellow ;
DBGrid3.Columns[3].Font.Color := clYellow;
end
else
begin
DBGrid3.Columns[3].Color := clBlue;
DBGrid3.Columns[3].Font.Color := clBlue;
end;
// dbgrid zebrado if not odd(DM.cds_listasetatu.RecNo) then
if not(gdSelected in State) then
begin
if DM.cds_parametros.fieldbyname('cor').AsInteger = 0 then
begin
DBGrid2.Canvas.Brush.Color := $00E6FFEB ;
DBGrid2.Canvas.FillRect(Rect);
DBGrid2.DefaultDrawDataCell(rect,Column.Field,State);
end
else
begin
DBGrid2.Canvas.Brush.Color := clSkyBlue ;
DBGrid2.Canvas.FillRect(Rect);
DBGrid2.DefaultDrawDataCell(rect,Column.Field,State);
end;
end; end;
Gostei + 0
06/11/2009
Rodrigo Mourão
Linha azul CampoRiscoVermelho
Linha verde CampoRiscoVermelho
Linha azul CampoRiscoVerde
Linha verde CampoRiscoAmarelo
Linha azul CampoRiscoVermelho
Linha verde CampoRiscoVerde
Fico no aguardo !!!
Abs !!
Gostei + 0
10/11/2009
Jose Boas
Gostei + 0
10/11/2009
Rodrigo Mourão
Abs !!!
Gostei + 0
10/11/2009
Rodrigo Mourão
//zebrado
If odd(Table1.RecNo) then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Brush.Color:= clGreen;
end
else
begin
DBGrid1.Canvas.Font.Color:= clBlack;
DBGrid1.Canvas.Brush.Color:= clWhite;
end;
//Mudar cor da linha selecionada
//Habilitar o RowSelected em options para melhor efeito
if gdSelected in state then
begin
DBGrid1.Canvas.Font.Color:= clWhite;
DBGrid1.Canvas.Brush.Color:= clBlue;
end;
//Mudar a cor Da Coluna do campo PaymentMethod dependendo do valor
if Column.Field.FieldName = 'PaymentMethod' then
begin
DBGrid1.Canvas.Font.Color:= clBlack;
if Column.Field.AsString = 'Credit' then DBGrid1.Canvas.Brush.Color:= clYellow;
if Column.Field.AsString = 'check' then DBGrid1.Canvas.Brush.Color:= clBlack;
if Column.Field.AsString = 'Visa' then DBGrid1.Canvas.Brush.Color:= clBtnFace;
if Column.Field.AsString = 'Cod' then DBGrid1.Canvas.Brush.Color:= clRed;
if Column.Field.AsString = 'MC' then DBGrid1.Canvas.Brush.Color:= clCream;
if Column.Field.AsString = 'AmEx' then DBGrid1.Canvas.Brush.Color:= clDkGray;
end;
DBGrid1.Canvas.FillRect(Rect);
DBGrid1.Canvas.TextOut(Rect.Left+2,Rect.Top,Column.Field.AsString);
end;
Troque Table1 pelo nome da sua tabela.
Troque DBGrid1 pelo nome do seu DBGrid.
Troque PaymentMethod pelo nome do campo que vc quer verificar para trocar a cor.
Troque os valores
'Credit'
'check'
'Visa'
'Cod'
'MC'
'AmEx'
pelos seus valores.
No mais estou a disposição.
Gostei + 0
12/11/2009
Rodrigo Mourão
O código ajudou ?
Estamos aguardando para encerrar o chamado !!!
Abs!!
Gostei + 0
19/11/2009
Jose Boas
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)