2LHX 发表于 2015-7-20 08:42:00

RDl页面报表参数绑定数据源

请问RDl页面报表参数绑定数据源在什么时候绑定?代码绑定一个集合

frank.zhang 发表于 2015-7-20 09:41:00

您好,
RDL页面报表绑定数据源的方式有设计时绑定和运行时绑定两种。
您可以参考以下博客:
http://blog.gcpowertools.com.cn/post/2014/08/01/ActiveReports_DataSource_DesignTime.aspx
http://blog.gcpowertools.com.cn/post/2014/08/01/ActiveReports_DataSource_RunTime.aspx

另外RDL报表还支持多数据源绑定,您可以参考:
http://blog.gcpowertools.com.cn/post/2014/08/04/ActiveReports_DataSource_MultiSources.aspx

报表选择RDL还是页面报表,可以参考:
http://gcdn.gcpowertools.com.cn/showtopic-17065.html

希望能够帮助到您。

2LHX 发表于 2015-7-20 10:30:00

回复 2楼frank.zhang的帖子

这个源据源绑定我会我问的是 报表参数的绑定(有个参数是用数据库里的数据去增充的,得先选参数再“查看报表”)   在报表初始加载时触发不了runtime_LocateDataSource事件

frank.zhang 发表于 2015-7-20 11:11:00

您好,
在webview下有WebViewer1_LocateDataSource这个方法,在初始化时,触发的效果类似于runtime_LocateDataSource。
您可以先尝试下,如果问题没有能够解决,您可以上传一个重现这个问题的例子程序,我们这边可以帮您调试。

希望能够帮助到您。

2LHX 发表于 2015-7-20 11:37:00

回复 4楼frank.zhang的帖子




这个报表有个参数参数要用代码绑定成IList变成下拉框请问我要怎么做   在哪里为这个参数绑定数据源?

frank.zhang 发表于 2015-7-20 14:51:00

您好,
经过电话沟通,需求为使用List加载参数列表,选择后查询后台数据库。为了示例的简单,使用access数据库。
主要的思路,是设计两个数据源,一个使用数据库,一个使用oject。

      protected void Page_Load(object sender, EventArgs e)
      {
            String report = "RdlReport1";
            GrapeCity.ActiveReports.PageReport report1 = null;
            report1 = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(Server.MapPath("/Reports/" + report + ".rdlx")));


            WebViewer1.Report = report1;
      }

      protected void WebViewer1_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
      {
            if (args.DataSourceName == "DataSource2" && args.DataSetName == "DataSet2")
            {
                args.Data = GetData();
            }   
      }

      private List<Product> GetData()
      {

            List<Product> list = new List<Product>();
            for (int i = 1; i <= 5; i++)
            {
                list.Add(new Product() { 类别ID = i, 类别名称 = "产品" + i.ToString()});
            }
            return list;
      }









希望能够帮助到您。

2LHX 发表于 2015-7-21 09:43:00

回复 6楼frank.zhang的帖子




我试了我也是用的两个数据源 一个用作参数绑定一个用作报表展现但是还是不行加载报表页面 直接闪退了不会触发LocateDataSource事件    我的是Winform

2LHX 发表于 2015-7-21 09:44:00

回复 7楼2LHX的帖子


frank.zhang 发表于 2015-7-21 14:03:00

您好,
在Winform程序使用也是类似的。我修改为Winform的程序。



由于牵涉到动态的数据源,所以有一部分逻辑在代码中实现。
如果您的问题没有解决,可以上传一个可以重现这个问题的例子程序,我们这边可以帮您调试。

frank.zhang 发表于 2015-7-29 10:09:00

您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?
如果没有解决,欢迎跟贴接续讨论,如果已经解决请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
http://gcdn.gcpowertools.com.cn/attachment.aspx?attachmentid=10062
页: [1]
查看完整版本: RDl页面报表参数绑定数据源