1109634667 发表于 2017-3-29 16:31:06

activereports 绑定动态数据源问题

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;
      }

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


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

给了呀··为什么预览的时候报错·运行的时候可以正常运行

Lenka.Guo 发表于 2017-3-30 11:03:58

如果是运行时绑定数据源, 因为程序没有跑起来,报表是没有数据的, 只有在程序跑起来才会为报表填充数据,才保证正常加载,这个也是运行时数据源的作用和意义
页: [1]
查看完整版本: activereports 绑定动态数据源问题