找回密码
 立即注册

QQ登录

只需一步,快速开始

guangfu.kong

注册会员

4

主题

10

帖子

52

积分

注册会员

积分
52
guangfu.kong
注册会员   /  发表于:2016-10-17 17:13  /   查看:2916  /  回复:1

        void Document_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
        {
            if (args.DataSourceName == "DataSource1")
            {
                if (args.DataSetName =="DataSet1" )
                {
                    string sqlCommetText = "select LotteryNumber, sum(money) AS MONEY  from LotteryChase where CreateOn between '{0}' and '{1}'  group by LotteryNumber ";
                    sqlCommetText = string.Format(sqlCommetText, txt_S_BuyDateTime.Text, txt_E_BuyDateTime.Text);
                    DotNet.Data.IDbHelper ucDbHelper = DotNet.Data.DbHelperFactory.GetHelper(BaseSystemInfo.BusinessDbType, BaseSystemInfo.BusinessDbConnection);
                    DataTable dt = ucDbHelper.Fill(sqlCommetText);
                    args.Data = dt;
                }
            }
        }

        private void load()
        {
            GrapeCity.ActiveReports.PageReport prt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("Modules\\ActiveReportTemp\\LotteryChaseReport.rdlx")));
            prt.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(Document_LocateDataSource);
            //prt.Report.ReportParameters[0].DefaultValue.Values.Clear();
            //prt.Report.ReportParameters[0].DefaultValue.Values.Add("1");            
            this.WebViewer1.Report = prt;
            this.WebViewer1.DataBind();
        }

执行 load()时,Document_LocateDataSource没有被执行,是什么原因呢?

1 个回复

倒序浏览
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2016-10-17 17:26:59
沙发
从代码来看没有问题,可以先检查下报表路径是否正确,有没有正常生成报表对象?
如果仍有问题,您可以把您的程序发过来,我在这边测试下。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部