xeilin 发表于 2016-3-9 11:33:55

web报表动态绑定数据源问题

本帖最后由 Lenka.Guo 于 2016-3-9 15:58 编辑

我在网上看的例子照写这么不行啊:
   void runtime_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
      {

            if (args.DataSourceName == "DataSource1")
            {

                if (args.DataSetName == "DataSet1")
                {

                  args.Data = GetDataSource();

                }

            }

      }

      public void dtLoadPageReport(string rt)
      {
            GrapeCity.ActiveReports.PageReport pageReport = null;
            pageReport = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("~/Reports/" + rt + ".rdlx")));

            GrapeCity.ActiveReports.Document.PageDocument runtime = new GrapeCity.ActiveReports.Document.PageDocument(pageReport);

            runtime.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(runtime_LocateDataSource);
            //WebViewer1.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(runtime_LocateDataSource);

            WebViewer1.LoadDocument(runtime);//问题WEB的没有这个函数 求大神指点
            WebViewer1.ViewerType = GrapeCity.ActiveReports.Web.ViewerType.FlashViewer;
            WebViewer1.Report = pageReport;
            //viewer1.LoadDocument(runtime);
         
      }
private DataTable GetDataSource(){    DataTable dt = new DataTable();    dt.Columns.Add("产品编号");    dt.Columns.Add("产品名称");    dt.Columns.Add("单价");    dt.Columns.Add("库存量");    dt.Rows.Add("A10002", "苹果", 20, 50);    dt.Rows.Add("A15681", "香蕉", 20, 50);    dt.Rows.Add("A15681", "菠萝", 20, 50);                return dt;}

Lenka.Guo 发表于 2016-3-9 15:58:00

WebViewer不存在LoadDocument 方法,注意删除代码“ //viewer1.LoadDocument(runtime);”
为WebViewer 加载报表,可通过以下代码设置:WebViewer1.Report = pageReport;或WebViewer1.ReportName = pageReport;

其他代码没有问题,动态数据源绑定您可以参考博客:http://blog.gcpowertools.com.cn/post/2013/05/17/ActiveReports-PageReport-RunTime-DataSource.aspx

页: [1]
查看完整版本: web报表动态绑定数据源问题