找回密码
 立即注册

QQ登录

只需一步,快速开始

handk

社区贡献组

9

主题

53

帖子

252

积分

社区贡献组

积分
252

活字格认证微信认证勋章

handk
社区贡献组   /  发表于:2015-3-19 17:09  /   查看:7881  /  回复:5
已知:
1、SSRS的URL地址
2、某个报表在SSRS中的路径
3、报表名称
4、报表所需要传递的参数
如何访问SSRS,获取到报表信息,并返回显示出来呢?

注:
详细看过Studio for WinForms Control Exploer中的例子及代码,发现都是通过rdl来获取的。

5 个回复

倒序浏览
handk
社区贡献组   /  发表于:2015-3-19 17:22:00
沙发
While ComponentOne Reporting products do not directly support SQL Server Reporting Services (SSRS), they do support the RDL language and reports specified in that language. ComponentOne Reporting products cannot connect directly to a MS SQL report server and show reports generated by it but can access SSRS reports in RDL format. You would load files as detailed in the Loading an RDL File topic.  

好吧,我自己在WinForms.Reports.pdf 文件中找到了这段话,虽然说文件是14年9月份下载的,但估计没法做到了
回复 使用道具 举报
handk
社区贡献组   /  发表于:2015-3-19 17:26:00
板凳

我茫然了在
http://www.gcpowertools.com.cn/p ... inform.htm#whatsnew
看到了新特性,说支持。
SSRS 报表支持
WinForms报表现在提供查看SSRS报表的功能。在2014v3版本中,C1PrintPreview控件提供一些组件,允许用户传参数,渲染和查看SSRS报表。


难道这里的也仅指rdl文件吗?
回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-19 17:36:00
地板
回复 3楼handk的帖子

在2014年的新特性里,可以支持SSRS报表。

不是通过rdl的方法,具体的实现方式,可以参考官方的示例。
安装产品后,可以在如下路径找到SSRSViewer的示例:
\Documents\ComponentOne Samples\Studio for WinForms\C1Report\C1Preview\CS\SsrsViewer

相关dll:
C1.Win.C1Report.4.dll
C1.Win.C1Ssrs.4.dll

评分

参与人数 1满意度 +5 收起 理由
handk + 5 Perfect

查看全部评分

请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
handk
社区贡献组   /  发表于:2015-3-24 10:32:00
5#
问题总算是解决了。

例子中的功能很完整,但跟我们的目标有一点差别。因为C1的控件中,已经包含了创建填写报表参数的窗体,但是这个窗体并不是我们所需要的,原因是,某些时候,报表所需要的参数是ID,而ID是一串32位的字符串,普通用户完全无法填写,我们是希望通过选择对象的方式,并获取该对象ID的方式来实现,所以需要重写填写参数的窗体。

经过对C1SSRSDocumentSource研究发现,可以通过如下方式实现。


  1. c1SsrsDocumentSource1.DocumentLocation = new SSRSReportLocation(tbSSRSServer.Text, ci.Path);
  2. c1SsrsDocumentSource1.Credential = GetCredential();

  3. c1SsrsDocumentSource1.Open();
  4. c1SsrsDocumentSource1.Parameters["id"].Value = (object)"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  5. c1SsrsDocumentSource1.ApplyParameterValues();
  6. c1SsrsDocumentSource1.Generate();

  7. c1PrintPreviewControl1.Document = null;
  8. c1PrintPreviewControl1.Document = c1SsrsDocumentSource1;
复制代码


此部分复制于MainForm.cs文件的209行
中间4行是添加进去的。
通过这种方式,是可以另外对报表参数进行赋值。

评分

参与人数 1金币 +200 收起 理由
Alice + 200 提供解决问题的方案,奖励200金币

查看全部评分

回复 使用道具 举报
Alice
社区贡献组   /  发表于:2015-3-24 12:09:00
6#
回复 5楼handk的帖子

非常赞,一看就高级程序员的手笔。

谢谢你对该问题的反馈,也给其他用户提供了参考。
稍后送上200金币作为奖励。我们的金币可以在论坛里兑换东西的,参考:http://gcdn.gcpowertools.com.cn/ ... ;postid=62979#62979
请点击评分,对我的服务做出评价!  5分为非常满意!

葡萄城控件服务团队

官方网站: http://www.gcpowertools.com.cn
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部