Como criar um relatorio com DataSetPageProducer ou DataSetTableProduce
Rodrido, boa tarde,
Poderia então me encaminhar um exemplo que gere o relatório em HTML dessa maneira ? Com cabeçalho, agrupamento e totalização e numero de paginas.
ultilizando o DataSetPageProducer ou DataSetTableProduce.
Att,
Vinicius Matos
Vinicius Matos
Curtidas 0
Respostas
Wesley Yamazack
08/12/2008
Vinicius
Boa tarde ,
Para resolver este problema,
1 - Vá até a palheta Internet - Localize o componente DataSetTableProducer
2 - Selecione o DataSetTableProducer1, vá ate a propriedade DataSet, e aponte para o DataSet que contem o conteúdo que você quer exibir(ClientDataSet). Ao clicar 2 vezes no mesmo, irão aparecer as colunas que estão presentes no seu DataSet.
3 - Após fiz um pequeno código onde você poderia usar para exibir os dados descritos.
3.1 - Adicione um WebBrowser(Palheta Internet), para que você possa visualizar os dados.
4 - Você pode configurar um título Header para o HTML também através da propriedade Header, ou rodapé Footer
5 - Em TableAttributes, você pode configurar Borda para as colunas, cor, espaçamento, alinhamento entre outras
6 - A propriedade MaxRows esta definida como 20, caso você necessite de um numero maior basta aumentar este número para o desejado.
Segue abaixo o exemplo
Var
Lista: TStringList;
begin
with DataSetTableProducer1 do
begin
Header.Add( Teste de Cabeçalho );
Footer.Add( Teste de Rodapé )
end;
Lista:= TStringList.Create;
Lista.Add(DataSetTableProducer1.Content);
Lista.SaveToFile(Index.Html);
WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+Index.html); O anexo esta no post abaixo
Lista: TStringList;
begin
with DataSetTableProducer1 do
begin
Header.Add( Teste de Cabeçalho );
Footer.Add( Teste de Rodapé )
end;
Lista:= TStringList.Create;
Lista.Add(DataSetTableProducer1.Content);
Lista.SaveToFile(Index.Html);
WebBrowser1.Navigate(ExtractFilePath(Application.ExeName)+Index.html); O anexo esta no post abaixo
GOSTEI 0
Wesley Yamazack
08/12/2008
Segue exemplo
[#VIDEO-49#]
[#VIDEO-49#]
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius
Há mais alguma dúvida? As informações foram suficientes ?
Estamos no aguardo para encerra o chamado.
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius,
Estamos encerrando o chamado porém continuamos a disposição para responder qualquer outra dúvida
Estamos encerrando o chamado porém continuamos a disposição para responder qualquer outra dúvida
GOSTEI 0
Vinicius Matos
08/12/2008
Não encerre o chamado por favor!
Ainda existem parâmetros a serem esclarecidos.
Att,
Vinicius Matos
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius,
Tudo bem, estamos no aguardo.
GOSTEI 0
Vinicius Matos
08/12/2008
Sr, boa tarde.
Segue em anexo meu fonte em ISAPI. Gostaria que você desse uma olhada, pois não sei onde (que pasta) devo gerar o arquivo, lembrando que a aplicação é mult-usuario.
( path que seja permitido p/ gravar usando IIS ) No teste que fiz o arquivo temporário HTML está sendo gerado no servidor. Tem como gerar na estação? Existe alguma configuração que deleta o arquivo ao final da sessão de consulta? Segue um print do relatório que vou ter q gerar( arquivo no raiz do fontes.zip de nome relatorio.jpeg) repare que eu precisarei colocar uma imagem (que é o logo do ministério da defesa). como colocar a tal imagem? agrupar por 8 campos e listar item descriçÃo quantidade e autorização. Deve ser colocada uma moldura (frame ao redor do relatório) Gostaria de um exemplo seu usando agrupamento... e tambem numero de pagina. Como faço p/ imprimir o relatorio gerado? Veja que o botão imprimir deve aparecer no rodapé da tela e imprimir direto quando clicado. Obs.: Não é possível alterar nada nesse relatório, pois é uma definição do Exército Brasileiro e terremos que seguir exatamente o mesmo lay-out. Estou no aguardo! Desde já agradeço. ps: se vc usar o meu fonte p/ tais novas mudanças pedidas a cima ficarei grato!
Segue o link para download do fonte Link: http://discovirtual.terra.com.br/vd.cgi?+_wi=1228837494-19449-885617&_we=13 Senha: B2D3EC90 Att,
Vinicius Matos
( path que seja permitido p/ gravar usando IIS ) No teste que fiz o arquivo temporário HTML está sendo gerado no servidor. Tem como gerar na estação? Existe alguma configuração que deleta o arquivo ao final da sessão de consulta? Segue um print do relatório que vou ter q gerar( arquivo no raiz do fontes.zip de nome relatorio.jpeg) repare que eu precisarei colocar uma imagem (que é o logo do ministério da defesa). como colocar a tal imagem? agrupar por 8 campos e listar item descriçÃo quantidade e autorização. Deve ser colocada uma moldura (frame ao redor do relatório) Gostaria de um exemplo seu usando agrupamento... e tambem numero de pagina. Como faço p/ imprimir o relatorio gerado? Veja que o botão imprimir deve aparecer no rodapé da tela e imprimir direto quando clicado. Obs.: Não é possível alterar nada nesse relatório, pois é uma definição do Exército Brasileiro e terremos que seguir exatamente o mesmo lay-out. Estou no aguardo! Desde já agradeço. ps: se vc usar o meu fonte p/ tais novas mudanças pedidas a cima ficarei grato!
Segue o link para download do fonte Link: http://discovirtual.terra.com.br/vd.cgi?+_wi=1228837494-19449-885617&_we=13 Senha: B2D3EC90 Att,
Vinicius Matos
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius,
1 - Gostaria de saber qual versão do delphi você esta usando, pois não estou conseguindo compilar.
2 - Pelo que analisei seria mais viável você criar um template HTML com toda estrutura do seu relatório, e inserir os dados oriundos desta tabela neste template, porém isso foge do escopo da consultoria técnica.
3 - Quanto a gerar na estação, lembre-se que a sua aplicação esta rodando na web, e tudo que for gerado será gerado no servidor, o que você pode fazer é redirecionar uma requisição para o arquivo gerado sem permissão de execução, o que iria ocasionar o download do arquivo gerado.
4 - A deleção do arquivo pode ser feita direto pelo IntraWeb, com a opção DeleteFile.
5 - Para exibir o logo do Exército Brasileiro, basta você colocar o logo na web, através da Tag “”, porém isso foge do escopo da consultoria técnica.
6 – Quanto ao botão de imprimir você poderia fazer o efeito com java script, porém isso foge do escopo da consultoria técnica.
7 – No exemplo que te envie, mostro como fazer tudo solicitado acima, mesmo não estando no escopo, para que você possa buscar maiores informações.
8 – Quanto ao layout do seu relatório é possível fazer exatamente como esta no exemplo, através de comandos HTML, dentro de um loop While.
Pergunto, há algum webdesigner, na tua empresa ? Ele pode te orientar com relação a isso.
Att,
Wesley Yamazack
1 - Gostaria de saber qual versão do delphi você esta usando, pois não estou conseguindo compilar.
2 - Pelo que analisei seria mais viável você criar um template HTML com toda estrutura do seu relatório, e inserir os dados oriundos desta tabela neste template, porém isso foge do escopo da consultoria técnica.
3 - Quanto a gerar na estação, lembre-se que a sua aplicação esta rodando na web, e tudo que for gerado será gerado no servidor, o que você pode fazer é redirecionar uma requisição para o arquivo gerado sem permissão de execução, o que iria ocasionar o download do arquivo gerado.
4 - A deleção do arquivo pode ser feita direto pelo IntraWeb, com a opção DeleteFile.
5 - Para exibir o logo do Exército Brasileiro, basta você colocar o logo na web, através da Tag “”, porém isso foge do escopo da consultoria técnica.
6 – Quanto ao botão de imprimir você poderia fazer o efeito com java script, porém isso foge do escopo da consultoria técnica.
7 – No exemplo que te envie, mostro como fazer tudo solicitado acima, mesmo não estando no escopo, para que você possa buscar maiores informações.
8 – Quanto ao layout do seu relatório é possível fazer exatamente como esta no exemplo, através de comandos HTML, dentro de um loop While.
Pergunto, há algum webdesigner, na tua empresa ? Ele pode te orientar com relação a isso.
Att,
Wesley Yamazack
GOSTEI 0
Wesley Yamazack
08/12/2008
Exemplo, feito no delphi atualizado.
[#VIDEO-52#]
[#VIDEO-52#]
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius, você consegiu entender o exemplo? Ficou claro ?
Aguardo seu contato para podermos concluir o chamado
Aguardo seu contato para podermos concluir o chamado
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius existe mais alguma dúvida ? Podemos fechar o chamado
GOSTEI 0
Vinicius Matos
08/12/2008
Bom dia,
estarei baixando o fonte agora e estarei analizando hj.
Peço que aguarde meu ok p/ encerramento
Att,
Vinicius Matos
GOSTEI 0
Vinicius Matos
08/12/2008
Bom dia.
Primeiramente muito obrigado pelo exemplo gerado!
Ele exclarece todas minhas duvidas, exceto a questão do agrupamento!
Você poderia me mandar em cima desse ultimo fonte algum agrupamento dos campos?
Att,
Vinicius Matos
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius,
Estamos verificando a parte de agrupamento.
Assim que possível entraremos em contato.
Att,
Wesley Yamazack
Estamos verificando a parte de agrupamento.
Assim que possível entraremos em contato.
Att,
Wesley Yamazack
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius,
Segue link do exemplo com agrupamento.
http://www.4shared.com/file/75504507/4e07f567/Exmplo.html
Att,
Wesley Yamazack
Segue link do exemplo com agrupamento.
http://www.4shared.com/file/75504507/4e07f567/Exmplo.html
Att,
Wesley Yamazack
GOSTEI 0
Vinicius Matos
08/12/2008
Boa tarde,
Baixei via link e quando compilo o projeto da o seguinte erro
GOSTEI 0
Vinicius Matos
08/12/2008
o que poderia ser?
att,
Vinicius Matos
GOSTEI 0
Wesley Yamazack
08/12/2008
Vinicius,
Segue o link abaixo com o exemplo, foi alterada a tabela para "customer", como no primeiro exemplo.
O que pode ter acontecido, voce não ter a tabela que eu tinha colocado.
Caso de erro, você faz o seguinte.
1 - Posicione o mouse sobre a linha onde esta o while, e aperte F5, ele ira marcar um BreakPoint.
2 - Rode o programa.
3 - Ao clicar no botão, o mesmo irá parar na linha que você colocou o BreakPoint, de continuidade a depuração, usando F8, para ver qual linha, e qual erro esta acontecendo.
Dica: 1 - Se conecte a uma base de dados que você tenha em seu computador, usando os mesmos componentes, que estão na tela.
2 - Onde estiver ClientDataSetCAMPO você substitui "CAMPO" por um campo da sua tabela, não esqueça de limpar os fields do clientdataset1.
Feito isso irá funcionar, o agrupamento, na minha query, eu fiz o seguinte
SELECT * FROM customer
ORDER BY COUNTRY
Segue anexo.
http://www.4shared.com/file/75515041/401f1968/Exmplo.html
Att,
Wesley Yamazack
Segue o link abaixo com o exemplo, foi alterada a tabela para "customer", como no primeiro exemplo.
O que pode ter acontecido, voce não ter a tabela que eu tinha colocado.
Caso de erro, você faz o seguinte.
1 - Posicione o mouse sobre a linha onde esta o while, e aperte F5, ele ira marcar um BreakPoint.
2 - Rode o programa.
3 - Ao clicar no botão, o mesmo irá parar na linha que você colocou o BreakPoint, de continuidade a depuração, usando F8, para ver qual linha, e qual erro esta acontecendo.
Dica: 1 - Se conecte a uma base de dados que você tenha em seu computador, usando os mesmos componentes, que estão na tela.
2 - Onde estiver ClientDataSetCAMPO você substitui "CAMPO" por um campo da sua tabela, não esqueça de limpar os fields do clientdataset1.
Feito isso irá funcionar, o agrupamento, na minha query, eu fiz o seguinte
SELECT * FROM customer
ORDER BY COUNTRY
Segue anexo.
http://www.4shared.com/file/75515041/401f1968/Exmplo.html
Att,
Wesley Yamazack
GOSTEI 0
Vinicius Matos
08/12/2008
Boa tarde .
Desconsidere o erro !
Eu estarei analizando o fonte mandado e se tiver tudo ok amanha lhe darei o ok p/ encerrar o chamado.
Att,
Vinicius Matos
GOSTEI 0