Altevir 0 Report post Posted August 12, 2010 Bom Dia !! Estou precisando de uma ajuda, porem, estou com duvidas se existe como fazer isso ou nao !!!???? Teria como gerar um Relatorio no Report Viewer do Visual Studio 2008 via codigo ??? Por exemplo, eu efetuo minha consulta SQL, e repasso os parametros para o Report Viewer gerando o relatorio com base na minha instruçao SQL. Gostaria de usar tudo via codigo, pois tem relatorios diferenciados um dos outros. Agradeço se alguem puder me ajudar. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Share this post Link to post Share on other sites
quintelab 91 Report post Posted August 13, 2010 Não tem problema nenhum, você terá que usar um DataSet para armazenar seus dados. Somente o relatório que acho um pouco dificil fazer via código, terá que desenhar usando a ferramenta. Abraços... Share this post Link to post Share on other sites
Altevir 0 Report post Posted August 13, 2010 Não tem problema nenhum, você terá que usar um DataSet para armazenar seus dados. Somente o relatório que acho um pouco dificil fazer via código, terá que desenhar usando a ferramenta. Abraços... Opaaa ah beleza, vou te passar o meu codigo, sera que você consegue me ajudar ??? para desenhar o relatorio eu estou fazendo isso, desenho atraves da ferramenta, porem, os valores (os dados), esses sim eu gostaria de pegar da minha instruçao SQL, nao quero usar DataSets Tipados, a minha ideia é alimentar o DataSet como você citou e alimentar o relatorio, estou iniciando agora o trabalho com o Report Viewer, nao sei mexer muito bem na ferramenta ainda, com os DataSets tambem, pra mim é novo, mas ja andei pesquisando alguma coisa na internet. Abaixo o meu codigo, tentei usar um DataTable, mas acho q nao deu certo, como faço pra usar o DataSet agora ??? Dim StrPastaRelatorio As String StrPastaRelatorio = String.Concat(Application.StartupPath.ToString(), "\Clientes.rdlc") StrPastaRelatorio = StrPastaRelatorio.Replace("bin\Debug\", "") ReportViewer1.LocalReport.ReportPath = StrPastaRelatorio Dados da Conexao StrConexao = "Data Source=SERVIDOR" & _ ";Persist Security Info=True" & _ ";Initial Catalog=MEU BANCO" & _ ";User ID=sa" & _ ";Password=123" StrConn.ConnectionString = StrConexao StrConn.Open() String de Consulta StrSQL = "Select CodCliente, Nome From Clientes" Dim Cmd As New SqlCommand(StrSQL, StrConn) Dim DReader As SqlDataReader Converter o DataReader para DataTable Dim DTable As New DataTable("Clientes") DReader = Cmd.ExecuteReader() DTable.Load(DReader) DReader.Close() Definindo o DataSource do Relatorio Dim NewReporDataSource As ReportDataSource = New ReportDataSource("Clientes", DTable) ReportViewer1.LocalReport.DataSources.Clear() ReportViewer1.RefreshReport() Share this post Link to post Share on other sites
quintelab 91 Report post Posted August 13, 2010 Você até vai conseguir alimentar seus objetos, mas como vai adicionar os campos la no desenho? Vai se basear em que se não for um dataset tipado? Abraços... Share this post Link to post Share on other sites
Altevir 0 Report post Posted August 13, 2010 Você até vai conseguir alimentar seus objetos, mas como vai adicionar os campos la no desenho? Vai se basear em que se não for um dataset tipado? Abraços... Certo. você poderia me passar algum exemplo ??? Share this post Link to post Share on other sites
quintelab 91 Report post Posted August 13, 2010 De uma olhada: http://www.macoratti.net/vbn_dst1.htm Abraços... Share this post Link to post Share on other sites
Altevir 0 Report post Posted August 16, 2010 De uma olhada: http://www.macoratti.net/vbn_dst1.htm Abraços... Opaaa esse link foi de grande ajuda, deu pra entender bem como funciona. Obrigado!!!!! uma coisa que notei no meu visual studio 2008, é que ao tentar adicionar um novo item ( Project > Add New Item ), na template Reporting, eu nao tenho disponivel o Report (.rdlc), somente o crystal report. como faço pra ter essa ferramenta disponivel ??? Share this post Link to post Share on other sites
Altevir 0 Report post Posted August 30, 2010 Resolvido...abaixo o codigo. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Dim StrConn As New SqlConnection Dim StrConexao As String = "Data Source=PC" & _ ";Initial Catalog=MeuBanco" & _ ";Persist Security Info=True" & _ ";User ID=sa" & _ ";Password=123" Dim DTable As New DataTable() Dim Cmd As SqlCommand = Nothing Try 1° passo, carregar o relatorio Dim StrPath As String StrPath = Replace(Application.StartupPath, "\bin\Debug", "") rvPrintPreview.LocalReport.ReportPath = StrPath & "\RptClientes.rdlc" 2° passo, passar os dados para o relatorio, abrindo a conexao com o banco de dados StrConn.ConnectionString = StrConexao StrConn.Open() 3° passo, definindo o SQL do relatorio Dim sqlClientes As String = "Select * From Clientes" 4° passo, executando o objeto command Cmd = New SqlCommand(sqlClientes, StrConn) Cmd.CommandText = sqlClientes Cmd.CommandType = CommandType.Text 5° passo, executando a instruçao SQL atraves de um DataReader Dim DReader As SqlDataReader = Cmd.ExecuteReader(CommandBehavior.CloseConnection) 6° passo, convertendo o DataReader em DataTable DTable.Load(DReader) 7° passo, definindo uma nova instancia do DataSource do Report, informando o DataSet e o DataTable. Dim MyReportDataSource As ReportDataSource = New ReportDataSource("CadClientes", DTable) rvPrintPreview.LocalReport.DataSources.Add(MyReportDataSource) 8° passo, dando um Refresh no relatorio. rvPrintPreview.RefreshReport() Catch ex As Exception MessageBox.Show(ex.ToString) Finally StrConn.Dispose() DTable.Dispose() StrConn = Nothing DTable = Nothing End Try Share this post Link to post Share on other sites
Ivair Martins 0 Report post Posted September 9, 2016 Boa tarde, acabei de me cadastrar no forum e queria tirar uma duvida estou usando o codigo que o Altevir postou mas não esta funcionando, só carrega o cabelhaço, não acho o erro, se alguem puder me ajudar agradeco e muito. Obs. a tabela tem dados cadastrados. Obrigado, Share this post Link to post Share on other sites