Usuário com melhor resposta
Criando Relatórios no C#

Pergunta
-
Olá Pessoal!
Boa Noite!Todas as minhas dúvidas até agora foram solucionadas com 100% de aproveitamento espero que essa continue...bom
tenho uma aplicação C# Desktop visual studio 2010...preciso montar relatórios no Visual studio 2010 não tem o crystal report? posso instalar? qual a versão.
Como criar um relatório a partir de stored procedure já existente ou de uma Dataset?
Aguardo resposta!
Respostas
-
Amigo a o CrystalReport a partir da versão 2010 não vem mais junto com o VS. Veja algumas informações:
http://www.macoratti.net/10/03/crpt_vs1.htm
Você pode fazer o download por aqui:
http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp
Como criar relatório por meio de um dataset:
http://www.codeproject.com/KB/cs/CreatingCrystalReports.aspx
- Sugerido como Resposta Kosvoski quinta-feira, 3 de março de 2011 13:36
- Marcado como Resposta Levi DomingosModerator quinta-feira, 10 de março de 2011 18:45
-
No forum recebi solução sobre uma aplicação Web do problema, mas não para uma aplicação desktop
o que me indicaram era inicializar com o seguinte metodo :
private void ConfigureCrystalReports()
{
rpt= new ReportDocument();
string reportPath = Server.MapPath("reportname.rpt");
rpt.Load(reportPath);
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.DatabaseName = "Northwind";
connectionInfo.UserID = "sa";
connectionInfo.Password="pwd";
SetDBLogonForReport(connectionInfo,rpt);
CrystalReportViewer1.ReportSource = rpt;
}porém nada para a aplicação windows form, não consegui converter a solução, e não tenho garantias de que
ela resolverá o problema.
Tenta adicionar essas linhas, adaptando ao seu programa :
seuDatasetTableAdapters.suaTabelaTableAdapter adpDs = new seuDatasetTableAdapters.suaTabelaTableAdapter ();
seuDatasetTableAdapters.suaTabelaTableAdapter dsRelat = new seuDatasetTableAdapters.suaTabelaTableAdapter();
adpDs.Fill(dsRelat);
reportDocument.SetDataSource((DataTable)dsRelat);
reportDocument.Refresh();
se aparecer falta de alguma dll vai na pasta :
C:\Arquivos de programas\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86
e cria uma pasta "dotnet1" e coloque todas as dll lá dentro, se um erro de compatibilidade aparecer, vá na app.config
e adicione as seguintes modificações : (Modificações em vermelho)
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>coloque um table adapter e um table adapter manager no form do relatorio
depois no no load do form que contem a resposta, é só colocar
this.suaTabelaTableAdapter.Fill(this.seuDataSet.suaTabela);
seuRelatorio.SetDataSource(seDataSet);
seuReportView.ReportSource = seuRelatorio;
seuRelatorio.Refresh();
ai funciona =)
- Sugerido como Resposta Uzai quinta-feira, 10 de março de 2011 15:07
- Marcado como Resposta Levi DomingosModerator quinta-feira, 10 de março de 2011 18:44
Todas as Respostas
-
Amigo a o CrystalReport a partir da versão 2010 não vem mais junto com o VS. Veja algumas informações:
http://www.macoratti.net/10/03/crpt_vs1.htm
Você pode fazer o download por aqui:
http://www.businessobjects.com/jump/xi/crvs2010/us2_default.asp
Como criar relatório por meio de um dataset:
http://www.codeproject.com/KB/cs/CreatingCrystalReports.aspx
- Sugerido como Resposta Kosvoski quinta-feira, 3 de março de 2011 13:36
- Marcado como Resposta Levi DomingosModerator quinta-feira, 10 de março de 2011 18:45
-
Amigo Obrigado Pela Resposta e pelo Interesse...
Isso que vc me falou eu acabei conseguindo pesquisar na internet, Porem meu problema maior agora é outro quando eu mando gerar o relatorio ele pede usuario e senha do banco porem meu banco nem senha não tem to usando um sql compact...ajuda? -
-
-
No forum recebi solução sobre uma aplicação Web do problema, mas não para uma aplicação desktop
o que me indicaram era inicializar com o seguinte metodo :
private void ConfigureCrystalReports()
{
rpt= new ReportDocument();
string reportPath = Server.MapPath("reportname.rpt");
rpt.Load(reportPath);
ConnectionInfo connectionInfo = new ConnectionInfo();
connectionInfo.DatabaseName = "Northwind";
connectionInfo.UserID = "sa";
connectionInfo.Password="pwd";
SetDBLogonForReport(connectionInfo,rpt);
CrystalReportViewer1.ReportSource = rpt;
}porém nada para a aplicação windows form, não consegui converter a solução, e não tenho garantias de que
ela resolverá o problema.
Tenta adicionar essas linhas, adaptando ao seu programa :
seuDatasetTableAdapters.suaTabelaTableAdapter adpDs = new seuDatasetTableAdapters.suaTabelaTableAdapter ();
seuDatasetTableAdapters.suaTabelaTableAdapter dsRelat = new seuDatasetTableAdapters.suaTabelaTableAdapter();
adpDs.Fill(dsRelat);
reportDocument.SetDataSource((DataTable)dsRelat);
reportDocument.Refresh();
se aparecer falta de alguma dll vai na pasta :
C:\Arquivos de programas\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Common\SAP BusinessObjects Enterprise XI 4.0\win32_x86
e cria uma pasta "dotnet1" e coloque todas as dll lá dentro, se um erro de compatibilidade aparecer, vá na app.config
e adicione as seguintes modificações : (Modificações em vermelho)
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
</configuration>coloque um table adapter e um table adapter manager no form do relatorio
depois no no load do form que contem a resposta, é só colocar
this.suaTabelaTableAdapter.Fill(this.seuDataSet.suaTabela);
seuRelatorio.SetDataSource(seDataSet);
seuReportView.ReportSource = seuRelatorio;
seuRelatorio.Refresh();
ai funciona =)
- Sugerido como Resposta Uzai quinta-feira, 10 de março de 2011 15:07
- Marcado como Resposta Levi DomingosModerator quinta-feira, 10 de março de 2011 18:44