Fórum Duvida com DisableControls e EnableControls #414235
18/03/2012
0
Bom dia pessoal,
Uso o codigo abaixo para gerar um relatorio com fastreport
Estou usando TADOTable e um campo integer calculado para criar um indice automatico.
O problema é que se uso o DisableControls e EnableControls o indice no relatorio começa com -1. fica assim
-1
2
3
4 ...
e se retiro DisableControls e EnableControls fica normal assim
1
2
3
4 ...
como faço pra resolver isso?
desde já agradeço.
Uso o codigo abaixo para gerar um relatorio com fastreport
Estou usando TADOTable e um campo integer calculado para criar um indice automatico.
O problema é que se uso o DisableControls e EnableControls o indice no relatorio começa com -1. fica assim
-1
2
3
4 ...
e se retiro DisableControls e EnableControls fica normal assim
1
2
3
4 ...
como faço pra resolver isso?
if DM.TSetor.RecordCount <= 0 then
begin
Application.MessageBox(pchar(Não há dados para gerar relatório),pchar(Caption),MB_OK+MB_ICONINFORMATION);
end
else
begin
DM.TSetor.DisableControls;
DM.Relatorio.LoadFromFile(ExtractFilePath(Application.ExeName)+\Relatorio\Setor01.fr3);
DM.Relatorio.PrepareReport(true);
DM.Relatorio.ShowReport(true);
DM.TSetor.EnableControls;
end;
desde já agradeço.
Valdenir Matos
Curtir tópico
+ 0
Responder
Posts
21/06/2012
Valdenir Albino
Duas soluções.
Se você tiver usando um TDataSource para ligar os componentes, ao invés de usar o EnableControls e o DisableControls, utilise o Enable do DataSource e ficaria mais ou menos assim.
Se isso não Funcionar, use o RecNo do DataSet
antes de Dar o ShowReport:
DM.TSetor.RecNo := 1;
Se você tiver usando um TDataSource para ligar os componentes, ao invés de usar o EnableControls e o DisableControls, utilise o Enable do DataSource e ficaria mais ou menos assim.
if DM.TSetor.RecordCount <= 0 then
begin
Application.MessageBox(pchar(Não há dados para gerar relatório),pchar(Caption),MB_OK+MB_ICONINFORMATION);
end
else
begin
DM.TDataSource.Enable := false;
try
DM.Relatorio.LoadFromFile(ExtractFilePath(Application.ExeName)+\Relatorio\Setor01.fr3);
DM.Relatorio.PrepareReport(true);
DM.Relatorio.ShowReport(true);
finally
DM.TDataSource.Enable := true;
end;
end;
Se isso não Funcionar, use o RecNo do DataSet
antes de Dar o ShowReport:
DM.TSetor.RecNo := 1;
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)