szpzr 发表于 2017-5-24 18:33:26

页面报表问题

1、web下页面的Load事件代码:WebViewer1.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(WebViewer1_LocateDataSource);
出现:警告 84 “GrapeCity.ActiveReports.Web.WebViewer.LocateDataSource”已过时:“"Use PageReport.LocateDataSource event or ReportService.OnCreateReportHandler instead."” 如何解决?
2、过程:private DataTable GetDataSource()
      {
            DataTable Dt=new DataTable ();
            //连接数据源,取得数据集
            Da = new SqlDataAdapter(SqlStr, SqlCon);
            Ds = new DataSet();
            Da.Fill(Ds, "Project_Manage");
            if (Ds.Tables.Rows.Count > 0)
            {
                Dt=Ds.Tables ;
                return Dt;
            }
            Ds.Dispose();
            Da.Dispose();
            SqlCon.Close();
            SqlCon.Dispose();
      }
会出现:错误 85 “Fc.Project.ProjectManageList_Image_Ar_Pr.GetDataSource()”: 并非所有的代码路径都返回值 。
这里如何取得并返回DataTable?
请版主指教!谢谢!

szpzr 发表于 2017-5-24 19:25:27

问题1用:pReport1.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(WebViewer1_LocateDataSource);可以了。对吗?
               

Lenka.Guo 发表于 2017-5-25 14:24:52

对~~运行时数据源最好都调用报表对象的Document 所提供的LocateDataSource() 方法

szpzr 发表于 2017-5-25 15:19:15

第2个问题有好的方法吗?

Lenka.Guo 发表于 2017-5-25 16:41:52

第二个问题,AR运行时绑定数据源,最终给AR返回可接收的数据类型即可,具体的逻辑都是由您自定义的和编写代码的。
看您的问题是C#代码逻辑有问题,您检查下所有返回路径是否都有返回值。与ActiveReports 产品无关
页: [1]
查看完整版本: 页面报表问题