Fórum FirstPage ou PageList no Rave Reports #361698

26/07/2008

0

caros amigos, me peguei numa situação da qual necessito informar via delphi qual a ReportPage que poderá ser visualizada pelo usuário.

ja tentei pelas propriedades PageList e FirstPage do rave e até agora nao consegui. vou postar os códigos aqui que com certeza devem ter problemas, para quem puder me dar sugestões de como proceder corretamente para isso.

[b:0a503f3996]FirstPage[/b:0a503f3996]
procedure TfrmRecibo.rvDSCPaginasGetRow(Connection: TRvCustomConnection);
var
FR,FE : TRavePage;
begin
  FR  := RvPRelat.ProjMan.FindRaveComponent(´rptFunc.Recibo´, nil) as TRavePage;
  FR.GotoPage   := nil;

  FE  := RvPRelat.ProjMan.FindRaveComponent(´rptFunc.ExtratoCompleto´, nil) as TRavePage;
  FE.GotoPage   := nil;

  // supondo que eu queira que FE seja a FirstPage do Relatório
  RvPRelat.ProjMan.FindReport(´rptFunc´,true).FirstPage := FE;
end;


[b:0a503f3996]PageList[/b:0a503f3996]
procedure TfrmRecibo.rvDSCPaginasGetRow(Connection: TRvCustomConnection);
var
FR,FE : TRavePage;
begin
  FR  := RvPRelat.ProjMan.FindRaveComponent(´rptFunc.Recibo´, nil) as TRavePage;
  FR.GotoPage   := nil;

  FE  := RvPRelat.ProjMan.FindRaveComponent(´rptFunc.ExtratoCompleto´, nil) as TRavePage;
  FE.GotoPage   := nil;

  // supondo que eu queira que FR seja a unica pagina visível do Relatório
  RvPRelat.ProjMan.FindReport(´rptFunc´,true).PageList.Add(FR);
end;


erros retornados: nenhum, porém os códigos nao funcionam.

eu poderia utilizar a dica postada nesse tópico: http://forum.devmedia.com.br/viewtopic.php?t=45837&highlight=&sid=0c08953cecbebfd237618b7b3d102dfe

porém nao compreendí uma coisa. eu teria que adicionar as paginas no PageList do rave e então utilizar o delete para escolher as paginas que seriam excluídas da visualização?

bom de qualquer maneira espero que os amigos possam me dar uma luz em uma das duas ideias (FirstPage ou PageList)

um forte abraço a todos!


Mahdak

Mahdak

Responder

Posts

27/07/2008

Mahdak

amigos nao consegui resolver dessa maneira entao fiz diferente. para cada relatório eu criei um novo report, ou seja antes eu tinha os relatorios dos clientes em varias paginas dentro de um mesmo report, agora eu tenho um report para cada relatório do cliente, sendo assim basta chama-lo da seguinte maneira:

if (Condição 1) then           
         begin
            DM.cdsFuncFin.Filtered := false;

            RvPRelat.Open;
            RvPRelat.SelectReport(´rptFuncExtrato´, false);
            RvPRelat.Execute;
            RvPRelat.Close;
          end
            else
              if (Condição 2) then               
              begin                
                RvPRelat.Open;
                RvPRelat.SelectReport(´rptFuncRecibo´, false);
                RvPRelat.Execute;
                RvPRelat.Close;
              end;


mesmo assim se alguem tiver a solução para meu problema inicial, por favor, nao deixem de postar, pois ele pode ser o problema de outros colegas também.

abraços a todos!


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar