using System;
using System.Data;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace MultipleDataSources
{
    public partial class WebForm1 : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            GrapeCity.ActiveReports.PageReport rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath(@"Reports/RDL动态数据源.rdlx")));
            rpt.Document.LocateDataSource += new GrapeCity.ActiveReports.LocateDataSourceEventHandler(locatedate);
            this.WebViewer1.Report = rpt;
        }

        private void locatedate(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
        {
            if (args.DataSourceName == "DataSource1")
            {
                if (args.DataSetName == "DataSet1")
                {
                    args.Data = returndata();
                }
                
            }
            if (args.DataSourceName == "DataSource2")
            {
                if (args.DataSetName == "DataSet3")
                {
                    args.Data = returndata1();
                }

            }

        }
        private DataTable returndata()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("产品编号");
            dt.Columns.Add("产品名称");
            dt.Columns.Add("单价");
            dt.Columns.Add("库存量");
            dt.Columns.Add("产地");
            dt.Rows.Add("A001", "苹果", 10, 300,"中国");
            dt.Rows.Add("A002", "葡萄", 20, 200, "中国");
            dt.Rows.Add("A003", "香蕉", 30, 400, "中国");
            dt.Rows.Add("A004", "菠萝", 110, 360, "中国");
            dt.Rows.Add("A005", "芒果", 210, 270, "中国");
            dt.Rows.Add("A006", "香蕉", 130, 440, "中国");
            dt.Rows.Add("A007", "苹果", 120, 330, "中国");
            dt.Rows.Add("A008", "葡萄", 220, 270, "中国");
            dt.Rows.Add("A009", "香蕉", 320, 440, "中国");
            dt.Rows.Add("A010", "苹果", 180, 600, "中国");
            dt.Rows.Add("A011", "葡萄", 420, 280, "中国");
            dt.Rows.Add("A012", "提子", 330, 470, "中国");
            return dt;
        }
        private DataTable returndata1()
        {
            DataTable dt = new DataTable();
            dt.Columns.Add("供应商");
            dt.Columns.Add("产品名称");
            dt.Columns.Add("产品编号");
            dt.Columns.Add("产品ID");
            dt.Columns.Add("产地");
            dt.Rows.Add("王大牛", "玻璃杯", 10, 300, "中国");
            dt.Rows.Add("王二牛", "玻璃杯", 20, 200, "中国");
            dt.Rows.Add("王三牛", "玻璃杯", 30, 400, "中国");
            dt.Rows.Add("王四牛", "玻璃杯", 10, 300, "中国");
            dt.Rows.Add("王五牛", "玻璃杯", 20, 200, "中国");
            dt.Rows.Add("王六牛", "玻璃杯", 30, 400, "中国");
            dt.Rows.Add("王七牛", "玻璃杯", 10, 300, "中国");
            dt.Rows.Add("王八牛", "玻璃杯", 20, 200, "中国");
            dt.Rows.Add("王旧牛", "玻璃杯", 30, 400, "中国");
            dt.Rows.Add("王牛牛", "玻璃杯", 10, 300, "中国");
            dt.Rows.Add("王牛一", "玻璃杯", 20, 200, "中国");
            dt.Rows.Add("王牛二", "玻璃杯", 30, 400, "中国");
            return dt;
        }

    }
}