scchao1986 发表于 2015-4-3 15:22:00

利用用户输入的参数进行导出,请曾工帮忙看一下



附件中是我写的代码,请帮忙看一下

      protected void WebViewer1_LocateDataSource(object sender, LocateDataSourceEventArgs args)
      {
            
            string[] Parameters = new string;
            for (int i = 0; i < args.Report.Parameters.Count; i++)
            {
                Parameters = args.Report.Parameters.Label;
            }
            Session["report_Parameters"] = Parameters;

            args.Data = GetReportDataSet();
      }

执行后前台显示了报表并且后台记录了参数,当用户点《导出EXCEL》时 执行如下代码
      protected void Button1_Click(object sender, EventArgs e)
      {
            GrapeCity.ActiveReports.PageReport _reportDef =
                new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("000002.rdlx")));
            GrapeCity.ActiveReports.Document.PageDocument prpt =
                new GrapeCity.ActiveReports.Document.PageDocument(_reportDef);
            prpt.LocateDataSource +=
                new GrapeCity.ActiveReports.LocateDataSourceEventHandler(Document_LocateDataSource);

            ExportExcel(this.Context, _reportDef);
      }
但提示数据集没有设置 请问这里的数据集怎么设置呢?

frank.zhang 发表于 2015-4-3 18:15:00

您好,
您的问题我们已经收到,下周继续调查。

frank.zhang 发表于 2015-4-7 11:18:00

您好,
基本的思路是,保存查询的参数,然后在导出的时候赋值,设置导出的参数。
我使用了一个private static string productId;来保存参数,您可以保存至数据库,或者其它的地方。
导出时设置excelSetting.MultiSheet = false;就可以控制导出为一个sheet页面。


页: [1]
查看完整版本: 利用用户输入的参数进行导出,请曾工帮忙看一下