新手入门,vs2008 c# sql2005做的网站加入报表

楼主
我是社区第1055位番薯,欢迎点我头像关注我哦~
本帖最后由 亲爱的小Z 于 2012-2-14 16:08 编辑

页面有一个打印按扭,点击后预览 学号=sql数据库字段值,的报表,报表已经做出来了,但这个参数值应该怎么传,请各位老师给个例子
分享扩散:

来自 2#
发表于 2012-2-14 14:57:27
是这样的,你的 “学号=sql数据库字段值”其中的字段值是怎么出来的,是你在C#中先算出来的,你可以使用URL对CPT文件进行传值。
如下图所示
数据源ds1中有一个参数,你要在调用CPT文件时把参数传过去就可以了!

板凳
发表于 2012-2-10 10:18:30
请先参考一下官方文档
http://www.finereporthelp.com/#s=%u53C2%u6570
地板
发表于 2012-2-10 10:19:25
请楼主把问题描述清楚,你这个参数:指的是从aspx 页面的学号参数要传到FR软件的开发的cpt文件是不是啊???
5楼
发表于 2012-2-10 10:21:49
可以参考超链接传参数。。。。
http://www.finereporthelp.com/#s=%u4F20%u53C2%u6570


若主报表与被链接报表拥有相同的参数,直接勾选继承报表参数则超级链接窗口不需要定义参数,直接就可以将主报表中的参数值传递到被链接的报表中了。
6楼
发表于 2012-2-10 10:21:59
是C#从sql里获取的字段值
7楼
发表于 2012-2-10 10:24:29
可以参考超链接传参数。。。。
http://www.finereporthelp.com/#s=%u4F20%u53C2%u6570


若主报表与被链接报表拥有相同的参数,直接勾选继承报表参数则超级链接窗口不需要定义参数,直接就可以将主报表中的参数值传递到被链接的报表中了。
8楼
发表于 2012-2-11 20:18:53
aspx前台:
<asp:Button ID="Button1" runat="server" Text="打印"
PostBackUrl="http://localhost:8080/WebReport/ReportServer?reportlet=WorkBook1.cpt&id=<%=abc%>"
/>
C#后台:
protected int abc;
protected void Page_Load(object sender, EventArgs e)
{
abc = 197;
Response.Write(abc);
}
运行后提示:
错误:select * from jhsq where id=

请问怎么才是对的


9楼
发表于 2012-2-14 08:10:03
为什么背禁止了
10楼
发表于 2012-2-14 14:38:23
且不需要Response输出,只要在加载事件中赋值就可以了!~~
11楼
发表于 2012-2-14 14:39:20
你的id为空主要是没有加入if(!ispostBack)这个条件,所以为空,至于为什么你可以去看看aspx页面的生命周期!~~
12楼
发表于 2012-2-14 14:46:43
导致错误:select * from jhsq where id= ,参数没有取上来。
请参考文档:获取url中的参数并传递给iframe中的报表
http://www.finereporthelp.com/#s=URL%u53C2%u6570



  1. <html>   
  2. <head>   
  3. <title>FineReport Demo</title>   
  4. <meta http-equiv="Content-Type" content="text/html; charset=GBK">   
  5. <script type="text/javascript" src="/WebReport/ReportServer?op=emb&resource=finereport.js"></script>   
  6. <script type="text/javascript">   
  7.     function autoLoad(){   
  8.         //返回从问号 (?) 开始的 URL(查询部分)   
  9.         var paraString = location.search;      
  10.         //多个参数用&分隔,将参数字符串转为数组,使每个参数值存于一个数组元素中   
  11.         var paras = paraString.split("&");     
  12.         //每个数组元素中"="后面的值即参数值   
  13.         var reportName = paras[0].substr(paras[0].indexOf("=") + 1);   
  14.         var start = paras[1].substr(paras[1].indexOf("=") + 1);   
  15.         var end = paras[2].substr(paras[2].indexOf("=") + 1);   
  16.         var per = paras[3].substr(paras[3].indexOf("=") + 1);   
  17.         //使用获取的参数值拼接出最终的url   
  18.         var reportURL = "/WebReport/ReportServer?reportlet=" + reportName + "&start=" + start + "&end=" + end + "&per=" + per;   
  19.         //url中可能包含中文或特殊字符因此需要进行编码转换,注意需要先引入finereport.js   
  20.         reportURL = FR.cjkEncode(reportURL);   
  21.         //将新的报表路径赋给报表所在iframe的src   
  22.         document.getElementById("reportFrame").src = reportURL;   
  23.     }   
  24.     //加载网页时调用autoLoad方法   
  25.     window.onload = autoLoad;   
  26. </script>   
  27. </head>   
  28. <body>   
  29. <iframe id="reportFrame" width="900" height="400"></iframe>   
  30. </body>   
  31. </html>  
复制代码

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

返回顶部 返回列表