Zebrado
Amigos,
Bom dia.
Coloquei o seguinte código para zebrar o DbGrid
porém ele ta matando a formatação do campo
alguem sabe como resolver?
abraços!
Bom dia.
Coloquei o seguinte código para zebrar o DbGrid
with (Sender as TDBGrid) do
begin
if gdSelected in State then
begin
Canvas.Font.Style := [fsbold];
Canvas.Font.Color := clHighlightText;
Canvas.Brush.Color:= clSkyBlue;
end
else
begin
If odd(FrmLogin.Consulta.RecNo) then
begin
Canvas.Brush.Color:= TColor(RGB(AppRgb1, AppRgb2, AppRgb3));
end
else
begin
Canvas.Brush.Color:= clWhite;
end;
end;
Canvas.FillRect(Rect);
Canvas.TextOut(Rect.Left + 2,Rect.Top, Column.Field.AsString);
end;
porém ele ta matando a formatação do campo
TDateTimeField(FrmLogin.Consulta.Fields.Fields[4]).DisplayFormat := ´HH:mm:ss´;
alguem sabe como resolver?
abraços!
Framosip
Curtidas 0
Respostas
Marco Salles
04/04/2008
porém ele ta matando a formatação do campo
Citação:
TDateTimeField(FrmLogin.Consulta.Fields.Fields[4]).DisplayFormat := ´HH:mm:ss´;
alguem sabe como resolver?
Acho que Isso acontece porque o código que você está usando está fazendo o desenho do texto; deixe isso por conta da rotina padrão do Delphi (TDBGrid.DefaultDrawColumnCell), que ela se encarrega dos detalhes de alinhamento e máscara:
coloque a propriedade [b:e10d8b8624]defaultDrawing em false [/b:e10d8b8624]e substitua o codigo :
Canvas.FillRect(Rect); Canvas.TextOut(Rect.Left + 2,Rect.Top, Column.Field.AsString); Por Grid.DefaultDrawColumnCell(Rect, DataCol, Column, State);
GOSTEI 0
Framosip
04/04/2008
Perfeito.
abraços!
abraços!
GOSTEI 0
Framosip
04/04/2008
Voltando a este tópico pq tive mais um duvida...rs
eu tinha mudado o texto dos títulos da coluna, porém ao colocar o código para zebrar a GRID, eles voltam a pegar o nome do campo da tabela, como eu poderia resolver isso?
abraços!
eu tinha mudado o texto dos títulos da coluna, porém ao colocar o código para zebrar a GRID, eles voltam a pegar o nome do campo da tabela, como eu poderia resolver isso?
abraços!
GOSTEI 0
Marco Salles
04/04/2008
Altere o [b:0920bf1f3c]DisplayLabel[/b:0920bf1f3c] do fields (campos) o Nome que voce quer que apareça no Grid
GOSTEI 0