ASP 水晶报表

现在在做水晶报表,想在打印的报表上根据页面传递过来的一个ID值查询某个数据库表中的数据,然后显示在报表上。请问各路大神,要怎么做啊,可否加我蚯蚯为我解答。75-24-99... 现在在做水晶报表,想在打印的报表上根据页面传递过来的一个ID值查询某个数据库表中的数据,然后显示在报表上。请问各路大神,要怎么做啊,可否加我蚯蚯为我解答。75-24-999-03 展开
 我来答
白宁纪事
2015-04-15 · TA获得超过148个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:161万
展开全部
哎,早就不用水晶了,做报表习惯性用FineReport,在FineReport帮助文档里面查了一下此问题的解决方案,在Finereport中,这被称为:js调用打印_直接通过模板传递参数打印,解决思路如下,

供借鉴:

1. 问题描述
XX公司在使用FineReport的打印功能时,其模板是一张订单形式的模板,客户在浏览器端使用订单时,填写完该订单后,需要将参数传递给模板,然后直接打印订单,但是如果订单填写的东西太多,以参数的形式将值传递给模板会使性能很差,那么该以什么样的形式来传递参数呢?
2. 解决思路
直接通过模板来传递参数,即网页直接调用设计好的模板,在网页里填参数就相当于在模板里填参数,然后实现打印。
用两张模板来实现,主模板用来填写参数,并将参数传递给子模板,子模板获取传递过来的参数,并打印出来。
3. 解决方案
3.1 主模板
报表主体
报表主体样式如下图:

两个文本控件的控件名字分别为,NAME和SEX。
js
给打印按钮添加点击事件,js如下:

var name=FR.cjkEncode($("[name='NAME']").val());
var sex=FR.cjkEncode($("[name='SEX']").val());
para={
name:name,
sex:sex
};
var config={
url:"http://localhost:8075/WebReport/ReportServer?reportlet=son.cpt",
isPopUp:false,
data:para
};
FR.doURLPDFPrint(config);
保存模板为main.cpt。
3.2 子模板
报表主体

注:name和sex参数是在主模板的js里面定义的。
保存模板为son.cpt,子模板的名字和路径应该与主模板js里面的名字和路径一致。
3.3 效果查看
以op=form的方式打开main.cpt,填写姓名和性别,点击打印按钮,如下图:

此处我们用的是PDF打印,点击打印按钮之后会下载一个PDF文件son.pdf。
打开pdf,可以看到姓名和性别这两个数据被打印出来了,并且打印的格式是按照son.cpt中的样式,
匿名用户
2015-04-16
展开全部
“想在打印的报表上根据页面传递过来的一个ID值查询某个数据库表中的数据,然后显示在报表上。”这个是参数传递,然后生成报表,与打印设置无关的。你要做的,就是一个参数查询报表,可以有参数查询面板,也可以没有。水晶报表也能做,但较为麻烦,我建议你用下finereport,很简单的。具体下载地址:http://rj.baidu.com/soft/detail/36545.html?ald
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式