locked
Crystal Report´s Vs2005 RRS feed

  • Pergunta

  • 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");

    }

    }

    terça-feira, 5 de junho de 2007 21:56