找回密码
 立即注册

QQ登录

只需一步,快速开始

2LHX

金牌服务用户

14

主题

42

帖子

1万

积分

金牌服务用户

积分
12654

活字格认证元老葡萄

2LHX
金牌服务用户   /  发表于:2015-7-20 08:42  /   查看:6258  /  回复:9
请问RDl页面报表参数绑定数据源  在什么时候绑定?  代码绑定一个集合

9 个回复

倒序浏览
frank.zhang
社区贡献组   /  发表于:2015-7-20 09:41:00
沙发
您好,
RDL页面报表绑定数据源的方式有设计时绑定和运行时绑定两种。
您可以参考以下博客:
http://blog.gcpowertools.com.cn/ ... rce_DesignTime.aspx
http://blog.gcpowertools.com.cn/ ... Source_RunTime.aspx

另外RDL报表还支持多数据源绑定,您可以参考:
http://blog.gcpowertools.com.cn/ ... e_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
5#
回复 4楼frank.zhang的帖子




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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-20 14:51:00
6#
您好,
经过电话沟通,需求为使用List加载参数列表,选择后查询后台数据库。为了示例的简单,使用access数据库。
主要的思路,是设计两个数据源,一个使用数据库,一个使用oject。

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


  6.             WebViewer1.Report = report1;
  7.         }

  8.         protected void WebViewer1_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
  9.         {
  10.             if (args.DataSourceName == "DataSource2" && args.DataSetName == "DataSet2")
  11.             {
  12.                 args.Data = GetData();
  13.             }   
  14.         }

  15.         private List<Product> GetData()
  16.         {

  17.             List<Product> list = new List<Product>();
  18.             for (int i = 1; i <= 5; i++)
  19.             {
  20.                 list.Add(new Product() { 类别ID = i, 类别名称 = "产品" + i.ToString()});
  21.             }
  22.             return list;
  23.         }
复制代码










希望能够帮助到您。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
2LHX
金牌服务用户   /  发表于:2015-7-21 09:43:00
7#
回复 6楼frank.zhang的帖子




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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
2LHX
金牌服务用户   /  发表于:2015-7-21 09:44:00
8#
回复 7楼2LHX的帖子


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-21 14:03:00
9#
您好,
在Winform程序使用也是类似的。我修改为Winform的程序。



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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
frank.zhang
社区贡献组   /  发表于:2015-7-29 10:09:00
10#
您好,
距离这个问题的最后回复已经过去了一段时间,不知道这个问题您是否已经解决?
如果没有解决,欢迎跟贴接续讨论,如果已经解决请对本次服务进行评分。我们会认真对待你提出的宝贵意见,谢谢
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部