如何从页面传值到水晶报表中打印?

juniot 2010-01-22 04:46:56
如何在C#的cs文件里面把设置好的一个值作为参数传到水晶报表中打印?
例如:
cs文件中有一个值。

string Hello;

Hello = lblHello.Text;

怎样把Hello作為参数传到水晶报表中打印?

具体是怎么做啊??
还有值传了过去之后放在水晶报表中的页眉会不会放多个值后就只显示一个的?

我之前遇到过一种情况,放了两三个公式字段之后,最后打印报表时只显示一个!

各位高手帮帮忙!我是菜鸟,还要多向你们学习,学习!

...全文
286 22 打赏 收藏 转发到动态 举报
写回复
用AI写文章
22 条回复
切换为时间正序
请发表友善的回复…
发表回复
juniot 2010-01-28
  • 打赏
  • 举报
回复
好的。不好意思,感歎號用習慣了。
阿泰 2010-01-28
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 juniot 的回复:]
嗯!是這樣啊!不是不結!
是我剛開始學還有很多問題要請教你的!
所以先留著!
這些語法要到那裡去學啊?有沒有關於水晶報表語法這方面的書籍介紹一下!
謝謝啊泰!
[/Quote]

新问题请起个新的帖子。
要是每个人都在一个帖子里问完所有的问题,那论坛也没啥存在的意义了。

我记得好像推荐过?水晶报表并没有什么严格的“语法”。所以也没有专门的书。
只是公式里会用到一些,这些在帮助文档里都有
http://www.feelcode.net/files/CRHelpDocXI.rar

PS:
如果你的说话对象是我的话,请尽量不要使用感叹号,谢谢。
我读到感叹号的话,心里会跟着顿一下,你一句话里这么多感叹号,我的小心脏受不大了,呵呵。
juniot 2010-01-28
  • 打赏
  • 举报
回复
嗯!是這樣啊!不是不結!
是我剛開始學還有很多問題要請教你的!
所以先留著!
這些語法要到那裡去學啊?有沒有關於水晶報表語法這方面的書籍介紹一下!
謝謝啊泰!
阿泰 2010-01-28
  • 打赏
  • 举报
回复
if isNull(字段) then
...

这个帖子还没结啊?呵呵。

juniot 2010-01-28
  • 打赏
  • 举报
回复
啊泰!水晶报表语法中是怎样判断一个int型字段是否為空的?
我是這樣寫的!
if{字段名} <> "" then
"Yes"
else
"No"

但是他一定要我輸入一個數字才能完成判斷,之前判斷字符串的都可以。
這個字段是int類型的!int型的字段是怎樣判斷的?
阿泰 2010-01-25
  • 打赏
  • 举报
回复
报索引错误因为是因为你代码中的textbox名称在模板中不存在,比如大家给出的示例代码中是Text3,你自己的可能是Text1
你在文本框上点右键,设置该字段格式,在出来的小界面上有 一个名称的,就是这个名称。
雷肿么了 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 juniot 的回复:]
文本框的地方找到了!但是他报索引超出数组界限的错!
[/Quote]

在报表中拉个文本框,取名叫:Text3
在CS 代码里如下,其中orpt 为ReportDocument

TextObject txtpaperkind = (TextObject)orpt.ReportDefinition.ReportObjects["Text3"];
txtpaperkind.Text = "Hello";
阿泰 2010-01-25
  • 打赏
  • 举报
回复
用参数代码最少。。楼主看来没看我给的文章链接。呵呵。

myReport.SetParameterValue(参数名称,参数值);
juniot 2010-01-25
  • 打赏
  • 举报
回复
文本框的地方找到了!但是他报索引超出数组界限的错!
juniot 2010-01-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hnjhjzyyxgs 的回复:]
Text3 为水晶报表中的文本框

TextObject txtpaperkind = (TextObject)orpt.ReportDefinition.ReportObjects["Text3"];
            txtpaperkind.Text = m_strName;
[/Quote]


Text3是水晶報表中的那個文本框啊??
juniot 2010-01-25
  • 打赏
  • 举报
回复
我用的是参数字段,文本框的值是参数字段的那个名称吗?
qifachen 2010-01-25
  • 打赏
  • 举报
回复
TextObject txtpaperkind = (TextObject)orpt.ReportDefinition.ReportObjects["Text1"];

Text1, 是报表里面的一个文本框
阿泰 2010-01-25
  • 打赏
  • 举报
回复
大家对美女图片都很热心啊

hnjhjzyyxgs 2010-01-25
  • 打赏
  • 举报
回复
大家对美女都很热心啊
juniot 2010-01-25
  • 打赏
  • 举报
回复
好的!我再检查一下代码!
阿泰 2010-01-25
  • 打赏
  • 举报
回复
这个应该没有什么资料。。
原因大致有以下几个:

1:你传入的数据就是20条,在传入报表前,跟踪一下你的数据集,看到底是多少条
2:你的模板里不仅有一个表,有多个,并且没设置关联关系
3:模板上,你用了两个详细资料节
juniot 2010-01-25
  • 打赏
  • 举报
回复
阿泰!那個顯示兩行数据的问题是什么原因了?我找了资料看都没有说!
juniot 2010-01-25
  • 打赏
  • 举报
回复
謝謝阿泰!現在弄清楚了!因為平時很少用水晶報表!所以比較陌生!
現在報表可以打出來了!但是爲什麽每條數據都輸出兩次了!
我是自己寫SQL語句用DataSet來邦定数据的!
测试过DataSet中的Table也只传了一个过去!
但是在报表上就每行数据都输出两次!
本来有10条数据的!变成20条,就是每条数据都复制了一次!我见检查过也没有加循环进去啊!
juniot 2010-01-25
  • 打赏
  • 举报
回复
啊泰!我看了你的文章之後試過可用!只是我想試試2樓的那種方法,但是不行!
Rommen 2010-01-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hnjhjzyyxgs 的回复:]
Text3 为水晶报表中的文本框

TextObject txtpaperkind = (TextObject)orpt.ReportDefinition.ReportObjects["Text3"];
            txtpaperkind.Text = m_strName;
[/Quote]
UP,模板与.CS文件上的变量要一一对应上,否则报错。。
加载更多回复(2)

4,818

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 图表区
社区管理员
  • 图表区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧