Jump to content
dipacheco

Imprimir conteúdo de um datatable num report

Recommended Posts

Caça

Vais usar Reporting Services?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

oh caça... eheheh tu tas dentro do assunto! tu sabes q n faço ideia do q vou usar... eu tnh um datatable preenchido e quero imprimir o conteudo desse datatable. so nao sei como o fazer e o report parece-m uma excelente soluçao para o q eu pretendo. como o vou fazer nao sei.

Share this post


Link to post
Share on other sites
Caça

Já te dei um tutorial noutro tópico..

O que é que não estás a conseguir fazer?


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
jpaulino

No meu blog tens inumeros exemplos sobre Microsoft Report (Reporting Services)

Share this post


Link to post
Share on other sites
dipacheco

oh caça... eu tentei com o tutorial e com os parameters nao fui la... pah, n entendo aquilo. agora tnh uma tabela criada com o datatable com os dados q quero e agora é so imprimir... é mais simples pra mim.

Share this post


Link to post
Share on other sites
dipacheco
connect = New SqlConnection("Data Source=PACHECO-PC\SQLEXPRESS;Initial Catalog=Agenda;Integrated Security=True")
        connect.Open()
        Dim command2 As New SqlClient.SqlDataAdapter("SELECT DataF,DataI,ID FROM Teste WHERE Codigo ='" & teste.TextBox2.Text & "'", connect)
        command2.Fill(tabela)

Share this post


Link to post
Share on other sites
jpaulino

Visto o link que o Caça te mostrou? Está passo a passo e só tens de tentar seguir. Se não funcionar diz o que não funcionou e mostra o código que estás a utilizar ou que passos seguiste.

Share this post


Link to post
Share on other sites
dipacheco

eu n entendo nada d parameters... eu vi o link, tentei mt coisa q ja apaguei, acho q cheguei a postar noutro topico q n este, e nao deu. o q eu queria era atraves d um valor lido numa textbox... ir à tabela do sql, procurar por um codigo igual ao valor da textbox e imprimir um report com outros 4 campos ... mas nao consigo fazer isto pois ele passa-me para o report sempre os campos todos e nao apenas os do user q quero.

como tal criei uma datatable e espetei pra la com os dados q quero. agora so quero imprimir este datatable.

Share this post


Link to post
Share on other sites
Caça

Se tens dificuldades com os parâmetros carrega manualmente o DataTable a que o report está associado

Faz o seguinte:

Add New Item -> DataSet

Arrastas um DataTable da ToolBox

Adicionas as colulas que precisares ao DataTable e na janela das propriedades defines o tipo de dados

Adicionas um novo Report e escolhes o DataSet que criaste e o DataTable que criaste

Desenhas o Report

Crias uma form com um ReportViewer e escolhes o report a aparecer

Crias uma propriedade nessa form

Public Property DataTableCarregado As DataTable

No load dessa form colocas:

ReportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout)
For Each dr As DataRow In DataTableCarregado.Rows
    Nome_do_DataSet.Nome_do_DataTable.ImportRow(dr)
Next
Me.ReportViewer1.RefreshReport()

Antes de chamar a form igualas a propriedade DataTableCarregado ao teu DataTable

Finalmente chamas o formulário

Mais não posso fazer


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

no passo em que dizes "Adicionas um novo Report e escolhes o DataSet que criaste e o DataTable que criaste" como faço para escolher o dataset e o datatable que acabei de criar?

Share this post


Link to post
Share on other sites
Caça

Na Janela ReportData que te apareceu no sitio da ToolBox em cima tem um botão new, seleccionas e escolhes DataSet


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

acho q ja fiz tudo, so m falta o ultimo passo q n sei como fazer. entao, a minha datatable está num formulário e o meu report está noutro. como faço para igual a property?? tentei com form.tabela mas nao chega la... tambem tentei ao contrario, no outro formulario fazer form2.datatablecarregado = tabela e tb n dá...

Share this post


Link to post
Share on other sites
Caça

Tens de colocar o form onde está o report num variável


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

explica-me como se eu fosse muito burro! eheheh

outra pergunta... o meu dataset chama-se dataset1

o meu datatable do dataset chama-se datatable1

mas nao consigo fazer isto...

DataSet1.DataTable1.ImportRow(dr)

Share this post


Link to post
Share on other sites
Caça

Para fazeres o ImportRow os campos e o tipo de dados entre os dois DataTables tem de ser iguais

Caso não sejam em vez de ImportRow utiliza .Rows.Add()


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

mas nao é isso q dá mal... o q dá mal é o dataset1.datatable1....

ele aceita dataset1. mas dps n aceita datatable1

Share this post


Link to post
Share on other sites
dipacheco

Tens de colocar o form onde está o report num variável

e explica-me isto como se fosse muito burro! :P :P

Share this post


Link to post
Share on other sites
Caça
Dim N as New FormReport
N.DataTableCarregado = TeuDataTable
N.ShowDialog()


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
Caça

Ai tens de colocar o nome do teu form


Pedro Martins

Não respondo a duvidas por PM

Share this post


Link to post
Share on other sites
dipacheco

mas nao é isso q dá mal... o q dá mal é o dataset1.datatable1....

ele aceita dataset1. mas dps n aceita datatable1

agora é este o problema...

Share this post


Link to post
Share on other sites
dipacheco

        ReportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout)
        For Each dr As DataRow In DataTableCarregado.Rows
              DataSet1.DataTable1.ImportRow(dr)
        Next()
        Me.ReportViewer1.RefreshReport()

qnd escrevo dataset1. as opçoes q m aparecem nao têm datatable1... ou seja, qnd o escrevo fica underline...

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

×
×
  • Create New...

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.