找回密码
 立即注册

QQ登录

只需一步,快速开始

ming

最新发帖
ming
初级会员   /  发表于:2017-1-9 18:03:28
19#
我做了个参数的demo ,麻烦帮忙看看,为什么参数显示不出来:
1、demo使用sql2008r2,附件中的0001tmp_demo.csv为同名数据表(0001用户)内容;
2、数据采用asmx连接,麻烦修改为ServiceReference1为本地连接;
3、数据源表与用户ID挂钩,用户不同,数据表也不同

本帖子中包含更多资源

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

x
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-1-5 11:20:38
18#
本帖最后由 Lenka.Guo 于 2017-1-5 11:23 编辑
ming 发表于 2017-1-5 10:42
我是想问问,那个数据集的查询能否不做在报表中,做在后台端,就像后台指定动态数据源一样

可以的。1. 参考代码,CommandText  查询语句
  1. public static PageReport AddDataSetDataSource(PageReport report)
  2.         {
  3.             // create DataSource for the report
  4.             DataSource dataSource = new DataSource();
  5.             dataSource.Name = "Reels Database";
  6.             dataSource.ConnectionProperties.DataProvider = "OLEDB";
  7.             dataSource.ConnectionProperties.ConnectString = ExpressionInfo.FromString(Properties.Resources.ConnectionString);
  8.             //Create DataSet with specified query and load database fields to the DataSet
  9.             DataSet dataSet = new DataSet();
  10.             Query query = new Query();
  11.             dataSet.Name = "Sample DataSet";
  12.             query.DataSourceName = "Reels Database";
  13.             query.CommandType = QueryCommandType.Text;
  14.             query.CommandText = ExpressionInfo.FromString(Constants.cmdText);
  15.             dataSet.Query = query;
  16.             String[] fieldsList = new String[] { "MoviedID", "Title", "YearReleased", "MPAA" };
  17.             foreach (string fieldName in fieldsList)
  18.             {
  19.                 Field field = new Field(fieldName, fieldName, null);
  20.                 dataSet.Fields.Add(field);
  21.             }
  22.             //create report definition with specified DataSet and DataSource
  23.             report.Report.DataSources.Add(dataSource);
  24.             report.Report.DataSets.Add(dataSet);
  25.             return report;
  26.         }
复制代码

2. 或者后台代码连接数据库后,将查询出的结果集返回成 DataTable 或DataSet, 然后调用Document.LocateDataSource() 方法,将args.data =DataTable即可。
回复 使用道具 举报
ming
初级会员   /  发表于:2017-1-5 10:42:35
17#
我是想问问,那个数据集的查询能否不做在报表中,做在后台端,就像后台指定动态数据源一样
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-1-5 09:52:27
16#
只要是SQL语法支持的,在AR中也是同样适用的。所以如果SQL 语句如果支持通过动态切换数据表,在AR中也是同样适用的。 但必须为报表在设计时指定数据字段。

回复 使用道具 举报
ming
初级会员   /  发表于:2017-1-4 18:19:30
15#
Lenka.Guo 发表于 2017-1-4 10:56
参考这个博客: http://blog.gcpowertools.com.cn/post/ActiveReports_Parameter_MultiValues.aspx

其中,要在数据集查询中写入查询语句,例如文中的:select * from 产品 where 类别ID in (?) ;但如果我们的数据表是动态的,不能指定特定的表名,那要如何处理呢?
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-1-4 14:07:56
14#
在设置报表参数,必须先知道它属于那个报表,所以您必须先生成报表对象,才能为其赋值。
无法脱离报表对象为参数赋值
回复 使用道具 举报
ming
初级会员   /  发表于:2017-1-4 12:18:52
13#
因为我们的系统报表格式很多,请问,能否在后台使用代码对报表参数进行统一设置,而不用一个个报表来设置参数呢,PS:我们系统的报表参数基本上都是那几个
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-1-4 10:56:56
12#
回复 使用道具 举报
ming
初级会员   /  发表于:2017-1-4 10:30:54
11#
如果有后台调用参数赋值的例子,麻烦给个链接参考一下
回复 使用道具 举报
Lenka.Guo讲师达人认证 悬赏达人认证
超级版主   /  发表于:2017-1-4 09:56:47
10#
现在解决了吗?

运行时数据源其实也是一样的,区别在于,将SQL语句写入后台,参数赋值也是用代码来写的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部