Mostrar um Report
Boa tarde!
Após cumprimentá-los!
Estou tentando mostrar um relatório em uma aplicação em Asp.Net WebForm c#, no entanto, quando executo a aplicação, a imagem no site fica carregando e não mostra o relatório. Estou usando uma SP e um DTS para fazer a "ponte" entre a aplicação e o banco. Segue abaixo meu código:
Código da página .aspx
...
<asp:content id="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="upPnlForm" runat="server">
<ContentTemplate>
<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center" style="width: 100%">
<tr>
<td class="tabela_tit_fnd_verde1" colspan="2" style="text-align:center; font-weight:bold;">
Relatório de Sistemas TOTVS RM
</td>
</tr>
<tr>
<td>
<rsweb:ReportViewer ID="rpvRelatorio" runat="server" Font-Names="Verdana" Font-Size="8pt" Height="300px" Width="100%" Visible="false" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<LocalReport ReportPath="Report\\rptBonum.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjReport" Name="spRetornarPermissaoRM" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjReport" runat="server" SelectMethod="GetData" TypeName="dtsRetornarPermissaoRMTableAdapters.spRetornarPermissaoRMTableAdapter">
<SelectParameters>
<asp:Parameter Name="idSistema" Type="Int32"></asp:Parameter>
</SelectParameters>
</asp:ObjectDataSource>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:content>
...
Código do .cs da página:
...
public partial class Relatorio_repor : System.Web.UI.Page
{
private void Page_Load(object sender, EventArgs e)
{
ShowReport();
}
private void ShowReport()
{
//Data id = new Data();
string idSistema = rpvRelatorio.text;
//Passando os parametros para o Data Source.
ObjReport.SelectParameters.Clear();
ObjReport.SelectParameters.Add("idSistema","19");
//Passando os parâmetros formatados para o DataSource
ReportParameter[] rptParametros = new ReportParameter[1];
rptParametros[0] = new ReportParameter("idSistema", "19");
rpvRelatorio.LocalReport.SetParameters(rptParametros);
this.rpvRelatorio.LocalReport.Refresh();
this.rpvRelatorio.Visible = true;
}
}
...
Alguns parâmetros, foram passados manualmente até nesse ponto de desenvolvimento. Mas será automatizado de acordo com o que a aplicação irá mostrar.
O Relatório, possui apenas um parâmetro, que nesse caso é o idSistema.
Na criação do DataSet e do DataSource, não houve nenhum problema.
Desde já agradeço pelas possíveis respostas.
Após cumprimentá-los!
Estou tentando mostrar um relatório em uma aplicação em Asp.Net WebForm c#, no entanto, quando executo a aplicação, a imagem no site fica carregando e não mostra o relatório. Estou usando uma SP e um DTS para fazer a "ponte" entre a aplicação e o banco. Segue abaixo meu código:
Código da página .aspx
...
<asp:content id="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="upPnlForm" runat="server">
<ContentTemplate>
<table border="0" cellpadding="0" cellspacing="0" width="100%" align="center" style="width: 100%">
<tr>
<td class="tabela_tit_fnd_verde1" colspan="2" style="text-align:center; font-weight:bold;">
Relatório de Sistemas TOTVS RM
</td>
</tr>
<tr>
<td>
<rsweb:ReportViewer ID="rpvRelatorio" runat="server" Font-Names="Verdana" Font-Size="8pt" Height="300px" Width="100%" Visible="false" WaitMessageFont-Names="Verdana" WaitMessageFont-Size="14pt">
<LocalReport ReportPath="Report\\rptBonum.rdlc">
<DataSources>
<rsweb:ReportDataSource DataSourceId="ObjReport" Name="spRetornarPermissaoRM" />
</DataSources>
</LocalReport>
</rsweb:ReportViewer>
<asp:ObjectDataSource ID="ObjReport" runat="server" SelectMethod="GetData" TypeName="dtsRetornarPermissaoRMTableAdapters.spRetornarPermissaoRMTableAdapter">
<SelectParameters>
<asp:Parameter Name="idSistema" Type="Int32"></asp:Parameter>
</SelectParameters>
</asp:ObjectDataSource>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</asp:content>
...
Código do .cs da página:
...
public partial class Relatorio_repor : System.Web.UI.Page
{
private void Page_Load(object sender, EventArgs e)
{
ShowReport();
}
private void ShowReport()
{
//Data id = new Data();
string idSistema = rpvRelatorio.text;
//Passando os parametros para o Data Source.
ObjReport.SelectParameters.Clear();
ObjReport.SelectParameters.Add("idSistema","19");
//Passando os parâmetros formatados para o DataSource
ReportParameter[] rptParametros = new ReportParameter[1];
rptParametros[0] = new ReportParameter("idSistema", "19");
rpvRelatorio.LocalReport.SetParameters(rptParametros);
this.rpvRelatorio.LocalReport.Refresh();
this.rpvRelatorio.Visible = true;
}
}
...
Alguns parâmetros, foram passados manualmente até nesse ponto de desenvolvimento. Mas será automatizado de acordo com o que a aplicação irá mostrar.
O Relatório, possui apenas um parâmetro, que nesse caso é o idSistema.
Na criação do DataSet e do DataSource, não houve nenhum problema.
Desde já agradeço pelas possíveis respostas.
Marcelo Barbosa
Curtidas 0