找回密码
 立即注册

QQ登录

只需一步,快速开始

1109634667

注册会员

2

主题

13

帖子

76

积分

注册会员

积分
76
最新发帖
1109634667
注册会员   /  发表于:2017-3-29 16:31  /   查看:3538  /  回复:5
amespace WebApplication5
{
    public partial class WebForm1 : System.Web.UI.Page
    {
      protected void page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }
            GrapeCity.ActiveReports.PageReport report = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath(@"Report1.rdlx")));

            report.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(WebViewer1_LocateDataSource);

          this.WebViewer1.Report = report;
        }

     protected void WebViewer1_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
        {
            if (args.DataSourceName == "DataSource1")
            {
                if (args.DataSetName == "DataSet1")
                {
                    args.Data = GetDataSource();
                }
            }
        }
        private object 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;
        }

    }
}
为什么走不到这个方法


5 个回复

倒序浏览
1109634667
注册会员   /  发表于:2017-3-29 16:31:53
沙发
WebViewer1_LocateDataSource 这个方法走不到
回复 使用道具 举报
1109634667
注册会员   /  发表于:2017-3-29 16:36:18
板凳
那位大侠帮助下
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-3-29 17:51:45
地板
设计时候有没有给报表指定数据源和数据集
回复 使用道具 举报
1109634667
注册会员   /  发表于:2017-3-30 08:52:18
5#
给了呀··为什么预览的时候报错·运行的时候可以正常运行
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-3-30 11:03:58
6#
如果是运行时绑定数据源, 因为程序没有跑起来,报表是没有数据的, 只有在程序跑起来才会为报表填充数据,才保证正常加载,这个也是运行时数据源的作用和意义
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部