como enviar dados para o rave em tempo de execução
Galera, to som um problema mais ou menos, preciso fazer relatórios com o Rave em tempo de execução, mas não posso ter os dados na SqlQuery pq eu tenho que utilizar a orientação a objetos, como fazer para desenhar no rave sem os TFields da Query, eu ja tentei no DataField do rave, digitar o nome dos campos para ver se eles vão aparececer no relatório mesmo sem eu dar um AddallFields, mas eles não aparecem, apenas aparece invalid
Brunocantelli
Curtidas 0
Respostas
Eurismar
06/11/2006
Tente fazer isto: passando parametros dos dados do delphi pro rave.
ex:
1 - no rave reports selecione o relatório e clique na propriedade Parameters e digite o nome do parametro
2 - coloque um componente DataText no Band e clique em DataField.
3 - na janela q será aberta ´Data Text Editor´ em Project Parameters selecione o parametro criado e clique em insert Parameter
e clique em OK.
4 - No Delphi no botão q vc chama o relatorio digite o seguinte:
procedure TForm1.BtnImprimirClick(Sender: TObject);
begin
RvProject1.SetParam(´Nome_do_parametro´,´Texto a ser enviado´);
RvProject1.ExecuteReport(´Report1´);
end;
não sei se isso mesmo q vc precisa, caso dê certou ou não informe aki no forum
ex:
1 - no rave reports selecione o relatório e clique na propriedade Parameters e digite o nome do parametro
2 - coloque um componente DataText no Band e clique em DataField.
3 - na janela q será aberta ´Data Text Editor´ em Project Parameters selecione o parametro criado e clique em insert Parameter
e clique em OK.
4 - No Delphi no botão q vc chama o relatorio digite o seguinte:
procedure TForm1.BtnImprimirClick(Sender: TObject);
begin
RvProject1.SetParam(´Nome_do_parametro´,´Texto a ser enviado´);
RvProject1.ExecuteReport(´Report1´);
end;
não sei se isso mesmo q vc precisa, caso dê certou ou não informe aki no forum
GOSTEI 0
Brunocantelli
06/11/2006
o problema é que não é necessario somente 1 registro, e sim ( exemplo) um cadastro completo, e não sei como fazer para passar um dataset para o rave, respeitando a orientação a objetos
GOSTEI 0
Andreaskaquino
06/11/2006
Voce pode passar o valor dos parametros para cada registro do seu dataset atraves do método ´OnGetRow´ do RvDataSetConnection, nele voce poderá incluir um código parecido com:
RvDataSetConnection1.DoGetRow;
RvProject1.SetParam(´Nome_do_parametro_1´, DataSet.FieldByName(´Campo1´).asstring);
RvProject1.SetParam(´Nome_do_parametro_2´, DataSet.FieldByName(´Campo2´).asstring);
RvDataSetConnection1.DoGetRow;
RvProject1.SetParam(´Nome_do_parametro_1´, DataSet.FieldByName(´Campo1´).asstring);
RvProject1.SetParam(´Nome_do_parametro_2´, DataSet.FieldByName(´Campo2´).asstring);
GOSTEI 0
Edivaldo B
06/11/2006
Pessoal, to com o mesmo problema, tenho um RvProject1 no qual dei o nome de rv_relatorios, nele tenho vários relatorios, tenho também um form de pesquisa com datas inicial e data final, não estou conseguindo passar as datas inicial e final da pesquisa para o Rave, alguém pode me ajudar?
1. Já selecionei o meu relatorio10 na propriedade parameter criei dois parametros inicio e fim
2. No Cabeçalho do rave coloquei dois campo de texto
3. Set nos campos de texto os parametros criados
4. No Delphi botão imprimir ja tentei assim e não deu certo:
dm.Rv_Relatorios.Open;
//dm.Rv_Relatorios.setParam('Param.Inicio',mk_inicio.Text);
//dm.Rv_Relatorios.setParam('Param.Fim',mk_fim.Text);
dm.Rv_Relatorios.ExecuteReport('Relatorio10');
5. Já tentei assim também e nada
//Imprimi o relatorio por periodo
dm.Rv_Relatorios.setParam('Param.Inicio',Fm_Pesq.mk_inicio.Text);
dm.Rv_Relatorios.setParam('Param.Fim',Fm_Pesq.mk_fim.Text);
dm.Rv_Relatorios.ExecuteReport('Relatorio10');
edijovem@gmail.com
1. Já selecionei o meu relatorio10 na propriedade parameter criei dois parametros inicio e fim
2. No Cabeçalho do rave coloquei dois campo de texto
3. Set nos campos de texto os parametros criados
4. No Delphi botão imprimir ja tentei assim e não deu certo:
dm.Rv_Relatorios.Open;
//dm.Rv_Relatorios.setParam('Param.Inicio',mk_inicio.Text);
//dm.Rv_Relatorios.setParam('Param.Fim',mk_fim.Text);
dm.Rv_Relatorios.ExecuteReport('Relatorio10');
5. Já tentei assim também e nada
//Imprimi o relatorio por periodo
dm.Rv_Relatorios.setParam('Param.Inicio',Fm_Pesq.mk_inicio.Text);
dm.Rv_Relatorios.setParam('Param.Fim',Fm_Pesq.mk_fim.Text);
dm.Rv_Relatorios.ExecuteReport('Relatorio10');
edijovem@gmail.com
GOSTEI 0
Wallisson Melo
06/11/2006
Voce pode passar o valor dos parametros para cada registro do seu dataset atraves do método ´OnGetRow´ do RvDataSetConnection, nele voce poderá incluir um código parecido com:
RvDataSetConnection1.DoGetRow;
RvProject1.SetParam(´Nome_do_parametro_1´, DataSet.FieldByName(´Campo1´).asstring);
RvProject1.SetParam(´Nome_do_parametro_2´, DataSet.FieldByName(´Campo2´).asstring);
RvDataSetConnection1.DoGetRow;
RvProject1.SetParam(´Nome_do_parametro_1´, DataSet.FieldByName(´Campo1´).asstring);
RvProject1.SetParam(´Nome_do_parametro_2´, DataSet.FieldByName(´Campo2´).asstring);
ola amigo tentei sua exPlicação nao consegui entender
não funciona!!!
PASSAR OS PARAMENTROS PARA SUBSTITUIR OS DATATEXT é tranquilo , o problema e filtrar as informações do banco de dados
intervalos entre DATAS/DATA ANIVERSARIANTE/ OU CODIGO!!!!
GOSTEI 0