Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

almamater

VB 2008 e ReportViewer

Recommended Posts

almamater

Hello,

Estou com uma dúvida, quero gerar um relatório de tabelas que tenho numa BD, acontece que os valores da BD têm primeiro de passar por um Procedure que tenho no meu programa e só depois estão OK para serem apresentados..

O normal que costumo fazer é dizer que o ReportViewer.DataSource = dataSetXPTO

Mas neste caso não posso fazer isto pq não posso apresentar os dados em bruto que estão na BD, posso gerar um relatório de outra forma?

Obg

Share this post


Link to post
Share on other sites
ribeiro55

O ReportViewer papa DataTables.

Podes trabalhar os dados, recompilá-los numa datatable e oferecê-la ao ReportViewer.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
Gooden

O ReportViewer papa DataTables.

Podes trabalhar os dados, recompilá-los numa datatable e oferecê-la ao ReportViewer.

"Papa"

.... Lolllll Gostei

Não Podes editar o dataset?

Share this post


Link to post
Share on other sites
ribeiro55

Não é bem o reportviewer que os papa, agora que estou a ler melhor (estou em multi-tasking mode :thumbsup: )

Instâncias dos reports é que comem DataTables nas fontes de dados. Depois é só oferecer o relatório ao viewer.


Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Share this post


Link to post
Share on other sites
almamater

Pois, como costumava fazer era tipo isto:

        Dim oAdapter As New OleDbDataAdapter("SELECT * FROM Xpto Order BY Nome ASC", Ligacao)
     
        'criar e encher DataSet
        Dim dsDataSet As New DataSet()

        oAdapter.Fill(dsDataSet, "Xpto")
        reportviewer.SetDataSource(dsDataSet)

Agora tenho de ver como alterar/manipular a informação então

 

Share this post


Link to post
Share on other sites
apocsantos

Boa noite,

    Podes aplicar o mesmo principio que enuncias-te acima. basta que os dados da instrução SQL venham como os queres. Se depois quizeres alterar nomes de campos, ou outras operações na datatable podes fazê-lo com ciclo For ... Next.

Cordiais Cumprimentos


"A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"

Share this post


Link to post
Share on other sites
almamater

Bom.. esforcei-me para descobrir uma solução  😲

Feito.

Fiz a filtragem do Dataset para um ficheiro XML e depois vou buscar a info ao XML já correcta :)

Share this post


Link to post
Share on other sites
jpaulino

Fiz a filtragem do Dataset para um ficheiro XML e depois vou buscar a info ao XML já correcta :)

Não entendo porque fizeste isso! Querias filtrar os dados e não conseguiste é isso?

Share this post


Link to post
Share on other sites
almamater

Não entendo porque fizeste isso! Querias filtrar os dados e não conseguiste é isso?

+/-. Eu tinha de fazer passar todos os registos do DataSet por um procedure, e só após fazer esta alteração aos registos é que os podia apresentar.

Share this post


Link to post
Share on other sites
jpaulino

+/-. Eu tinha de fazer passar todos os registos do DataSet por um procedure, e só após fazer esta alteração aos registos é que os podia apresentar.

E qual era o problema? Queres mostrar o código?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.