boa noite,
estou precisando de uma ajudinha..para que trabalha com o crystal reports do Dot net. é o seguinte pessoal, estou com problemas emrelação a paginação, já que p crystal reports trabalha com dataset tipado e é preenchido no load da pagina, toda vez que vou passar de pagina minha procedure é disparada, tendo em vista a peformance do aplicativo, queria sabe se posso trabalhar com um dataAdapter ou ate mesmo um dataTable? porque isso, eu iria resolver o meu problema da paginação, iria preenche e depois de preenchido iria fazer somente select nesse data table ou adapter. ou alguem tem uma opção melhor? ficaria grado.
segue meu codigo para preencher o dataset tipado bem como o relatório.
using
System;
using
System.Data;
using
System.Data.SqlClient;
using
System.Configuration;
using
CrystalDecisions.Web;
using
System.Collections;
using
System.Web;
using
System.Web.Security;
using
System.Web.UI;
using
System.Web.UI.WebControls;
using
System.Web.UI.WebControls.WebParts;
using
System.Web.UI.HtmlControls;
using
System.Data.Common;
using
AcessoDados;
public
partial class frmRelTercerizados : System.Web.UI.Page
{
static string ConStr = ConfigurationManager.ConnectionStrings[0].ConnectionString;
private SqlConnection conn = new SqlConnection(ConStr);
CrystalReportSource crs1 = new CrystalReportSource();
protected void Page_Unload(object sender, EventArgs e)
{
crvOsWebRelatorioGeralbordero.Dispose();
}
protected void Page_Load(object sender, EventArgs e)
{
Server.ScriptTimeout = 1200;
try
{
if (Request.QueryString["nmMicro"] != null
&& Request.QueryString[
"idProcesso"] != null
&& Request.QueryString[
"dtInicial"] != null
&& Request.QueryString[
"dtFinal"] != null
&& Request.QueryString[
"idClasse"] != null
&& Request.QueryString[
"nmClasse"] != null
&& Request.QueryString[
"idRepresentante"] != null)
{
string nmMicro = Server.HtmlDecode(Geral.Decrypt(Request.QueryString["nmMicro"].ToString()));
string dtInicial = Server.HtmlDecode(Geral.Decrypt(Request.QueryString["dtInicial"].ToString()));
string dtFinal = Server.HtmlDecode(Geral.Decrypt(Request.QueryString["dtFinal"].ToString()));
string idProcesso = Server.HtmlDecode(Geral.Decrypt(Request.QueryString["idProcesso"].ToString()));
string idClasse = Server.HtmlDecode(Geral.Decrypt(Request.QueryString["idClasse"].ToString()));
string idRepresentante = Server.HtmlDecode(Geral.Decrypt(Request.QueryString["idRepresentante"].ToString()));
string nmClasse = Server.HtmlDecode(Geral.Decrypt(Request.QueryString["nmClasse"].ToString()));
dtInicial =
Convert.ToDateTime(dtInicial).ToString("yyyy.MM.dd");
dtFinal =
Convert.ToDateTime(dtFinal).ToString("yyyy.MM.dd");
if (!Page.IsPostBack)
{
if (idProcesso == "1")
{
string sql = "exec [dbo].[OsWebPreparaRelatorioGeralbordero] '" + nmMicro +
"' " + ", '" + dtInicial + "'" + ", '" + dtFinal + "'" +
", " + idClasse + ", " + idRepresentante + ", " + idProcesso;
Dados.ProcessarSql(sql);
}
else
{
string sql = "exec [dbo].[OsWebPreparaRelatorioGeralborderoAutorizado] '" + nmMicro +
"' " + ", '" + dtInicial + "'" + ", '" + dtFinal + "'" +
", " + idClasse + ", " + idRepresentante + ", " + idProcesso;
Dados.ProcessarSql(sql);
}
}
SqlDataAdapter sqlDaCustomer = new SqlDataAdapter("exec [dbo].[OsWebRelatorioGeralbordero] '" + nmMicro +
"' " + ", '" + dtInicial + "'" + ", '" + dtFinal + "'" +
", " + idClasse + ", " + idRepresentante + ", " + idProcesso, conn);
sqlDaCustomer.SelectCommand.CommandTimeout = 1200;
dsRelBorderoGeral dsBorderoGeral = new dsRelBorderoGeral();
conn.Open();
dsBorderoGeral.EnforceConstraints =
false;
sqlDaCustomer.Fill(dsBorderoGeral.OsWebRelatorioGeralbordero);
conn.Close();
if (idProcesso == "1")
{
crs1.Report.FileName = Server.MapPath(
"relatorios/RelBorderoGeral.rpt");
}
else
{
crs1.Report.FileName = Server.MapPath(
"relatorios/RelBorderoGeralAutorizados.rpt");
}
crs1.ReportDocument.SetDataSource(dsBorderoGeral);
crs1.ReportDocument.SetParameterValue(
"DtInicial", dtInicial = Convert.ToDateTime(dtInicial).ToString("dd/MM/yyyy"));
crs1.ReportDocument.SetParameterValue(
"DtFinal", dtInicial = Convert.ToDateTime(dtFinal).ToString("dd/MM/yyyy"));
crs1.ReportDocument.SetParameterValue(
"NmClasse", dtInicial = nmClasse);
crvOsWebRelatorioGeralbordero.DisplayGroupTree =
false;
crvOsWebRelatorioGeralbordero.ReportSource = crs1;
crvOsWebRelatorioGeralbordero.DataBind();
}
}
catch (Exception ex2)
{
throw new Exception(ex2.Message);
}
}
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
Response.Redirect(
"frmTercerizado.aspx");
}
}