那位兄弟用过水晶报表9。0?

lqflsh 2003-12-08 02:15:06
我用的是水晶报表9。0中文版。
安装完毕后我在开始程序运行的水晶报表,已经把数据库字段托放到了详细资料这个栏里,我预览后有数据。
现在的问题是这样的。我在c#(c/s)中想让用户输入条件,比如用户选了一个日期为2003-01-01这个日期,我怎么才能让报表显示条件是2003-01-01这个日期的所有数据?我怎么才能把这个用户选的日期传到水晶报表中?还是我的思路有问题?
我需要传值的代码。
...全文
34 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
haibodotnet 2003-12-11
  • 打赏
  • 举报
回复
CSDN 水晶报表专栏
中国软件--专栏作家--海波.NET(haibodotnet)专栏
http://www.csdn.net/develop/MY_article.asp?author=haibodotnet
haibodotnet 2003-12-10
  • 打赏
  • 举报
回复
在水晶报表中筛选记录的三种解决方案……(作者:海波.NET,更新:2003-11-19)

目录:
一、解决方案一:报表数据访问使用推模型
二、解决方案二:记录选定公式运行时自定义
三、解决方案三:将参数合并到记录选定公式
----------------------------------
一、解决方案一:
报表数据访问使用推模型

需要开发人员编写代码以连接到数据库,执行 SQL 命令以创建与报表中的字段匹配的记录集或数据集,并且将该对象传递给报表。该方法使您可以将连接共享置入应用程序中,并在 Crystal Reports 收到数据之前先将数据筛选出来。
----------------------------------
二、解决方案二:
记录选定公式运行时自定义

1、通过查看器控件传递选定公式
[Visual Basic]
Dim SelectFormula As String
SelectFormula = "{客户.去年销售额} > " & textBox1().Text
crystalReportViewer1.SelectionFormula = SelectFormula
[C#]
string selectFormula;
selectFormula = "{客户.去年销售额} > " + textBox1.Text;
crystalReportViewer1.SelectionFormula = selectFormula;
[C++]
String* selectFormula;
selectFormula->Concat
("{客户.去年销售额} > ", textBox1->Text);
crystalReportViewer1->SelectionFormula = selectFormula;

2、通过报表对象传递选定公式
[Visual Basic]
Dim selectFormula As String
selectFormula = "{客户.去年销售额} > " & textBox1().Text
Report.DataDefinition.RecordSelectionFormula = selectFormula
[C#]
string selectFormula;
selectFormula = "{客户.去年销售额} > " + textBox1.Text;
Report.DataDefinition.RecordSelectionFormula = SelectFormula;
[C++]
String* selectFormula;
selectFormula->Concat
("{客户.去年销售额} > ", textBox1->Text);
Report->DataDefinition->RecordSelectionFormula = selectFormula;

3、刷新相应的报表,方法是使用以下代码行结束这段代码:
CrystalReportViewer1.RefreshReport()
该公式得以更新,将使用新的最小值(上年度的销售额)。
----------------------------------
三、解决方案三:
将参数合并到记录选定公式

参数字段不必放入报表中即可在记录或组选定公式中使用。创建参数字段,然后像插入其他字段那样将其输入到公式中。

用公式进行记录选定
若要减少从数据库服务器传输的数据量并改善性能,请将参数字段直接合并到记录选定公式中。
下面的记录选定公式提请用户输入销售配额,并只显示去年销售额超过销售配额的所有客户。
{客户.去年销售额} > {?SalesQuota}

需要开发人员编写代码在运行时传递参数值……
lqflsh 2003-12-09
  • 打赏
  • 举报
回复
上面我的写法属于拉模型,我想要一段推模型的方法例子。可以帮忙吗?
monkeys 2003-12-08
  • 打赏
  • 举报
回复
我来学习
minajo21 2003-12-08
  • 打赏
  • 举报
回复
http://218.56.11.178:8009/


.net专栏->水晶报表
minajo21 2003-12-08
  • 打赏
  • 举报
回复

.selectformula="{fld1}='2003-01-01'"

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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