Dh-00 0 Denunciar post Postado Outubro 14, 2009 Estou finalizando minha primeira aplicação em vb.net, e chegou na hora dos relatórios. A minha aplicação esta totalmente moldavel, e as queries estao em uma classe, assim como os metodos de conexao (leitura do arquivo com informações conexao) Ao ter o primeiro contato com o report viewer, pelo que vi, e pelos sites de exemplos, é solicitado a criação de um datasource, e um dataset. O datasource, ja me gera um problema, pois nao consigo ler o arquivo de propridades para efetuar a conexao,e deixar a aplicação configuravel a partir de um arquivo. O dataset tb é um problema, por causa da query ficar fixa dentro do componente. Gostaria de uma ajuda, para saber como devo realizar a construção do relatorio,trabalhando com uma conexao OLEDB, e Datareader. Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 14, 2009 A query não precisa ficar dentro do componente, você pode muito bem alimentar um DataSet com a query que esta na sua classe. O dataset tipado é serve mais como um auxilio na hora de você montar seu relatório, posicionar os campos e coisas afins. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Dh-00 0 Denunciar post Postado Outubro 14, 2009 A query não precisa ficar dentro do componente, você pode muito bem alimentar um DataSet com a query que esta na sua classe. O dataset tipado é serve mais como um auxilio na hora de você montar seu relatório, posicionar os campos e coisas afins. Abraços... quintelab, Obrigado pela ajuda mais uma vez. Mas ainda tenho umas duvidas de como proceder: 1º - Como inicio o relatorio? 2º - Como realizo a conexao, se o relatorio exige um datasource? 3º - Para o dataset, tenho que criar um dataset no relatorio (isso é possivel sem um datasource), a antes de abrir o form com o relatorio, passar como parametro a query para o dataset? Mas e a conexao com o banco? Como minha aplicação esta toda em codigo, em nenhuma parte dela possuo datasource ou dataset, por isso que estou perdido em como gerar esse relatorio. abs Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 15, 2009 Minhas aplicações também são assim, tudo via código, utilizo os DataSet tipados somente para relatórios, de uma olhada: http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=247 Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Dh-00 0 Denunciar post Postado Outubro 20, 2009 Minhas aplicações também são assim, tudo via código, utilizo os DataSet tipados somente para relatórios, de uma olhada: http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=247 Abraços... Quintelab, Estou quase chegando no meu objetivo, e agora me deparei com o seguinte cenario: Criei o arquivo de relatorio Criei uma datatable, e nela adicionei os campos que preciso para construir o relatorio Ate aqui ok, porem para o relatorio funcionar tenho que vincular o controle reportviewer ao relatorio, e desse modo é automaticamente vinculado o datatable e um databinding ao controle reportviewer. Basta entao popular o datatable e o relatorio funciona de boa. Porem, no sistema esta previsto mais de 10 relatorios, e desse modo, teria que criar 10 formularios de vizualizações iguais, porem com diferentes dataset. Minha duvida é, como posso criar somente uma tela com o controle reportviewer, e nesse controle adicionar o relatorio que quero executar, e a fonte de dados desse relatorio dinamicamente. abs Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 20, 2009 Nas minhas aplicações eu tenho somente uma página que possui o ReportViewe e todos os relatórios passam por ele, eu alimento os parâmetros de forma dinâmica pelo c#. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
Dh-00 0 Denunciar post Postado Outubro 20, 2009 Nas minhas aplicações eu tenho somente uma página que possui o ReportViewe e todos os relatórios passam por ele, eu alimento os parâmetros de forma dinâmica pelo c#. Abraços... Poderia por favor me passar um exemplo de como fazer isso? Obrigado! Compartilhar este post Link para o post Compartilhar em outros sites
Dh-00 0 Denunciar post Postado Outubro 21, 2009 Nas minhas aplicações eu tenho somente uma página que possui o ReportViewe e todos os relatórios passam por ele, eu alimento os parâmetros de forma dinâmica pelo c#. Abraços... Poderia por favor me passar um exemplo de como fazer isso? Obrigado! Resolvido! Public Class Frm_relatorio 'variaveis Dim v_relatorio As String = Nothing 'nome do relatorio Dim dr As OleDb.OleDbDataReader = Nothing 'datareader de dados do relatorio Dim dts As String = Nothing 'nome do datasource do relatorio 'Nome do relatorio Public Sub Nome_relatorio(ByVal v_nome As String) Me.v_relatorio = v_nome End Sub 'Data reader Public Sub Dr_relatorio(ByVal v_dr As OleDb.OleDbDataReader) Me.dr = v_dr End Sub 'Nome do datasource Public Sub Dt_relatorio(ByVal v_dt As String) Me.dts = v_dt End Sub Private Sub Frm_relatorio_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Try 'Cria o datatable Dim dt_table As New DataTable() 'Carrega o relatorio de modo local ReportViewer1.ProcessingMode = Microsoft.Reporting.WinForms.ProcessingMode.Local 'Limpa o relatorio Me.ReportViewer1.Reset() 'Reset control to clear previous report information 'Carrega o relatorio ReportViewer1.LocalReport.ReportEmbeddedResource = v_relatorio 'Limpa os data sources Me.ReportViewer1.LocalReport.DataSources.Clear() 'Carrega o data table dt_table.Load(dr) 'Define o datasource Dim myReportDataSource As ReportDataSource = New ReportDataSource(dts, dt_table) ReportViewer1.LocalReport.DataSources.Add(myReportDataSource) Me.ReportViewer1.RefreshReport() Catch ex As Exception MsgBox("Houve um erro ao carregar o relatório!" + Chr(13) + ex.Message, MsgBoxStyle.Critical, "Aviso!") End Try End Sub Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Outubro 21, 2009 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif Que bom que conseguiu!! Abraços... Compartilhar este post Link para o post Compartilhar em outros sites