代码之家  ›  专栏  ›  技术社区  ›  Syntax Error ine

页面初始化与页面加载-Crystal Reports

  •  0
  • Syntax Error ine  · 技术社区  · 6 年前

    Page_Init Page_Load 如果我想我的下拉列表正常工作,以便设置一个参数。我想两个都做!

    第一页 ? 我怎样才能做到这一点?相关代码如下:

    ReportDocument rptDoc;
    dsfeeEarnings ds1;
    protected void Page_Init(object sender, EventArgs e)
    {
        var dt = new DataTable();
        ds1 = new dsfeeEarnings();
        dt.TableName = "Crystal Report Fee Earnings";
        dt = getFeeEarnings1();
        ds1.Tables[0].Merge(dt);
        rptDoc = new ReportDocument();
        rptDoc.Load(Server.MapPath("Report.rpt"));
        rptDoc.SetDataSource(ds1);
        CrystalReportViewer1.ReportSource = rptDoc;
    }
    

    dsfeeEarnings 是一个 .xsd getFeeEarnings1() 是处理下拉列表值并使用该值运行存储过程的方法。

    我试着把上面的代码放到 if (!IsPostBack) 但这似乎阻止了报告的工作。

    我尝试创建一个会话,这有助于下拉列表,但报告仍然要求参数每次我改变页面。

    1 回复  |  直到 6 年前
        1
  •  0
  •   Syntax Error ine    6 年前

    我使用以下代码修复了此问题:

    ReportDocument rptDoc = new ReportDocument();
    protected void Page_Init(object sender, EventArgs e)
    {
         CrystalReportViewer1.ReportSource = rptDoc;
    }
    
    protected void Page_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        dsfeeEarnings ds = new dsfeeEarnings();
    
        rptDoc.Load(Server.MapPath("FeeEarningsReport.rpt"));
        rptDoc.SetDataSource(ds);
        dt = getFeeEarnings1();
        ds.Tables[0].Merge(dt);
    }