Page tree
Skip to end of metadata
Go to start of metadata

ActiveReports支持设计时数据源绑定和运行时数据源绑定,今天我们主要讲解如何在 ASP.NET 应用系统中为页面报表(PageReport)动态绑定数据源。

第一步、创建一个 ASP.ENT 应用程序,并在ASPX页面中添加 ActiveReports 提供的 WebViewer 控件


第二步、在工程中添加页面/RDL 报表(PageReport/RDLReport)文件,如下图所示:



第三步、打开报表资源管理器,在数据源节点中添加一个新的数据源,并选择【Dataset Provider】


第四步、在DataSource1数据源上右键,选择添加数据集,并在数据集对话框中的字段页面中添加以下三个字段

返回到报表设计界面,添加一个Table控件到报表中,并设置各列对应的数据绑定字段名称,最终结构如下:

第五步、打开ASPX后台代码页面,并在Page的Load事件中添加以下代码:

        protected void Page_Load(object sender, EventArgs e)
        {
            if (IsPostBack)
            {
                return;
            }

            GrapeCity.ActiveReports.PageReport report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("PageReport1.rdlx")));
            report1.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(Document_LocateDataSource);
            WebViewer1.PdfExportOptions.FitWindow = false;
            WebViewer1.PdfExportOptions.DisplayMode = GrapeCity.ActiveReports.Export.Pdf.Section.DisplayMode.Outlines;
            
            WebViewer1.Report = report1;
        }

        void Document_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
        {
            if (args.DataSet.Query.DataSourceName== "DataSource1")
            {
                if (args.DataSet.Name== "DataSet1")
                {
                    args.Data = GetData();
                }
            }
        }

        private DataTable GetData()
        {
            DataTable dt = new DataTable();

            dt.Columns.Add("Col1");
            dt.Columns.Add("Col2");
            dt.Columns.Add("Col3");

            dt.Rows.Add(1, 1, 1);
            dt.Rows.Add(2, 1, 1);
            dt.Rows.Add(3, 1, 1);
            dt.Rows.Add(4, 1, 1);
            dt.Rows.Add(5, 1, 1);
            dt.Rows.Add(6, 1, 1);

            return dt;
        }


运行结果如下:

  • No labels