ProgressBar no Dbgrid
27/03/2015
0
Saudações especialistas ... estou precisando de uma ajuda ( que seria muito importante pra min) estou usando uma tabela com um campo do tipo float e estou usando um DBgrid para apresentar esta variável como indicação de avanço de serviço , esta apresentação tem que ser representada não como valor mais graficamente pelo ProgressBar que deve estar presente em cada linha do DBgrid ..o que eu tenho conseguido conforme a seguir é incluir o ProgressBar em cada linha mas não apresenta avanço peço ajuda a todos
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var NovoProgressBar : TProgressBar;
begin
if (Column.Field.FieldName = 'VALOR') then// nome da coluna
begin
NovoProgressBar:=TProgressBar.Create(DBGrid1);
if (Column.Field.Value>=0) and (Column.Field.Value<=100) then
NovoProgressBar.Position:=Column.Field.Value
else
NovoProgressBar.Position:=0;
NovoProgressBar.Parent:=self;
NovoProgressBar.Width := Rect.Right - Rect.Left +1;
NovoProgressBar.Height := Rect.Bottom - Rect.Top +1;
NovoProgressBar.PaintTo(DBGrid1.Canvas.Handle, Rect.Left, Rect.Top);
FreeAndNil(NovoProgressBar);
end;
procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
DataCol: Integer; Column: TColumn; State: TGridDrawState);
var NovoProgressBar : TProgressBar;
begin
if (Column.Field.FieldName = 'VALOR') then// nome da coluna
begin
NovoProgressBar:=TProgressBar.Create(DBGrid1);
if (Column.Field.Value>=0) and (Column.Field.Value<=100) then
NovoProgressBar.Position:=Column.Field.Value
else
NovoProgressBar.Position:=0;
NovoProgressBar.Parent:=self;
NovoProgressBar.Width := Rect.Right - Rect.Left +1;
NovoProgressBar.Height := Rect.Bottom - Rect.Top +1;
NovoProgressBar.PaintTo(DBGrid1.Canvas.Handle, Rect.Left, Rect.Top);
FreeAndNil(NovoProgressBar);
end;
Marcio Teles
Curtir tópico
+ 0
Responder
Posts
28/12/2020
Edio
Venho a renovar o meu pedido de ajuda. Por favor
acredito que o link a seguir irá lhe ajudar
https://www.youtube.com/watch?v=db1LUJ0exz0
Responder
Clique aqui para fazer login e interagir na Comunidade :)