VB.NET与水晶报表问题???

islkeng 2003-08-19 09:33:23
我的报表文件上有两个Formula Fields,一个是lang,其内容是"0"。一个是Cust,内容是:if {@lang}="0" then
"Customers"
else
"客户"

现在我在VB.NET的windows Application 上写如下代码:
Dim lang As String
lang = "0"
CrystalReportViewer1.ReportSource = Application.StartupPath & "\cust.rpt"
Dim ssql As String = "{@lang}='" & lang & "'"
CrystalReportViewer1.SelectionFormula = ssql

我想实现的效果是当我在windows Application 里面赋不同的值(0或者1)给lang时,报表的Formula Fields的Cust的文本会跟着变化,也就是当0时,报表显示为英文,当1时,报表显示为中文。

望各位哥哥帮手看看我的代码有什么不对的地方!!!!!谢谢!!!!
...全文
126 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
islkeng 2003-08-20
  • 打赏
  • 举报
回复
to coolboyheyehy;
谢谢,问题解决啦!
to icanfly_jlh:
我的是Formula Fields ,而不是ParameterFields,不过还是要谢谢的帮助!
coolboyheyhey 2003-08-20
  • 打赏
  • 举报
回复
请试一试吧
Dim rpt As New CrystalReport1()

rpt.Load(Application.StartupPath & "\XXXX.rpt")
rpt.DataDefinition.FormulaFields("Lang").Text = "'English'"
icanfly_jlh 2003-08-20
  • 打赏
  • 举报
回复
没记错的话,是拿了 xumahua(xumahua)的答案,希望对你有用:

首先添加引用:
Imports CrystalDecisions.CrystalReports.Engine
Imports CrystalDecisions.Shared
---------------------------------
然后
Dim rp As New CrystalReport1()
Dim paramValues As New ParameterValues()
Dim discreteVal As New ParameterDiscreteValue()
discreteVal.Value = ... '给参数赋值
paramValues.Add(discreteVal) '加入参数集合
rp.DataDefinition.ParameterFields("Parameter_分").ApplyCurrentValues(paramValues) '将参数值传入报表
CrystalReportViewer1.ReportSource = rp
CrystalReportViewer1.EnableDrillDown = True
------------------------------------------------------------------
在报表刷新的时候要进行再次传入参数
islkeng 2003-08-20
  • 打赏
  • 举报
回复
Help me!
rock29 2003-08-19
  • 打赏
  • 举报
回复
你可以把if {@lang}="0" then
"Customers"
else
"客户"
写在crystal report中
即,在cr中添加一个公式字段,代替Customers字段,然后把上面代码写在这个公式字段中

其实你那种写法的思路也没问题,只是怎么写我忘了:)),我是在刚学cr时这么写的,后来全写在报表里了,我认为我的写法速度较快(虽然都很慢:)))
islkeng 2003-08-19
  • 打赏
  • 举报
回复
真的那么难吗????
symyx 2003-08-19
  • 打赏
  • 举报
回复
推荐你一个在.NET中的电子表格打印预览控件。
很好用,且功能十分强大,打印预览十分专业。有完整的源码示例可供下载
下载网址: http://chinese.pefectsoft.com
islkeng 2003-08-19
  • 打赏
  • 举报
回复
没有人肯帮我的忙吗???
islkeng 2003-08-19
  • 打赏
  • 举报
回复
up????????????????????
islkeng 2003-08-19
  • 打赏
  • 举报
回复
版主救命阿!
帮小弟解决这个难题阿!
acewang 2003-08-19
  • 打赏
  • 举报
回复
islkeng 2003-08-19
  • 打赏
  • 举报
回复
to rock29:
先谢谢老兄的帮忙。
其实我本来就是按你说的哪样去做的,我想的是怎么样才能在VB.NET里控制crystal report
里面的那个公式字段lang的值。
如果那位老兄能帮我解决这个问题,我立刻结分。。。

16,552

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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