WEB报表传参数问题

kouming1018 2004-12-21 05:03:25
Dim paramFields As New CrystalDecisions.Shared.ParameterFields
Dim paramField As New CrystalDecisions.Shared.ParameterField
Dim discreteVal As New CrystalDecisions.Shared.ParameterDiscreteValue
paramField.ParameterFieldName = "@开始时间"
discreteVal.Value = "2002/12/12"
paramField.CurrentValues.Add(discreteVal)
paramFields.Add(paramField)
CrystalReportViewer1.ParameterFieldInfo = paramFields

CrystalReportViewer1.ReportSource = "D:\\柱状图.rpt"
加栽之后为什么没有变化呢。。还是那个默认的时间参数。
请各位多帮忙阿
谢谢了~
...全文
253 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
xinzhe 2005-01-12
  • 打赏
  • 举报
回复
你是用的数据集作为数据源吗?
kouming1018 2005-01-10
  • 打赏
  • 举报
回复
晕了。。怎么登陆失败阿
kouming1018 2005-01-04
  • 打赏
  • 举报
回复
恩。。谢谢。。我再试试
xinzhe 2005-01-03
  • 打赏
  • 举报
回复
不好意思,还要填充报表时打开数据库连接和关闭它。
xinzhe 2005-01-03
  • 打赏
  • 举报
回复
下面的代码不需要指定路径。
//填充报表
string strSQL = "SELECT * FROM temp";
SqlDataAdapter myAdapter = new SqlDataAdapter(strSQL,conn);
DataSet ds = new DataSet();
myAdapter.Fill(ds,"temp");
crReportDocument = new tempCrystalReport();//此行代码意味着“指定哪一个报表”
crReportDocument.SetDataSource(ds);
crvKCTJ.ReportSource =crReportDocument;

前面发的那些传值的应该没有问题的,你看看是不是没有引用命名空间什么的。
kouming1018 2004-12-29
  • 打赏
  • 举报
回复
回xinzhe:不指定报表路径么?还有第一种方法中:CrystalReportViewer1.ParameterFieldInfo = paramFields报错:说类型CrystalDecisions.Shared.ParameterValues无法转换为CrystalDecisions.Shared.ParameterFields,如果我定义为后者,加栽后没有结果。
不好意思,我还是个小菜鸟呢,请大家多多指点。
kouming1018 2004-12-29
  • 打赏
  • 举报
回复
多谢。。我试试
xinzhe 2004-12-28
  • 打赏
  • 举报
回复
ParameterFields paramFields = new ParameterFields();
ParameterField t = new ParameterField();
ParameterDiscreteValue t1=new ParameterDiscreteValue();
t.ParameterFieldName = "KSSJ";//开始时间
t1.Value= "2004/02/02";
t.CurrentValues.Add(t1);
paramFields.Add(t);
CrystalReportViewer1.ParameterFieldInfo = paramFields;

这是用参数字段实现的。也可以用一个 TextObject实现:
ReportDocument crReportDocument = new CrystalReportDocument();
CrystalReportViewer1.ReportSource = crReportDocument;
TextObject t;
t = (TextObject)crReportDocument.ReportDefinition.ReportObject["Text1"];
t.Text = "2001/02/02";

其中Text1就是一个文本对象;数据库中的数据统一绑定到crReportDocument如:
先生成一个DataSet ds 数据源,然后:crReportDocument.SetDataSource(ds);
kouming1018 2004-12-27
  • 打赏
  • 举报
回复
Dim ParameterFields As New CrystalDecisions.Shared.ParameterValues
Dim paramDiscreteValue As New CrystalDecisions.Shared.ParameterDiscreteValue
Dim paramValues As New CrystalDecisions.Shared.ParameterValues
Dim oRpt = New CrystalDecisions.CrystalReports.Engine.ReportDocument
oRpt.Load("D:\\柱状图.rpt")
paramDiscreteValue.Value = "2002/12/12"
paramValues.Add(paramDiscreteValue)
Dim paramValue As New CrystalDecisions.Shared.ParameterValues
Dim s As Integer
For s = 0 To s <= paramValues.Count - 1
paramValue.Clear()
paramValue.Add(paramValues(s))
oRpt.DataDefinition.ParameterFields(s).ApplyCurrentValues(paramValue)
Next s
CrystalReportViewer1.ReportSource = oRpt
我这么写对么?我是一个刚接触代码的人,不要笑话我,呵呵
sean168 2004-12-22
  • 打赏
  • 举报
回复
public CrystalReport1 rptyi=new CrystalReport1();
是我做的水晶报表的一个别名
在此实例化!!
kouming1018 2004-12-22
  • 打赏
  • 举报
回复
谢谢楼上的两位
回sean168(再见理想) :rptyi是什么?怎么没有定义?
回 skytear(将进酒) :可否说的详细点呢?我是个初学者
kouming1018 2004-12-22
  • 打赏
  • 举报
回复
谢楼上的
  • 打赏
  • 举报
回复
这个问题原来我们做项目的时候也遇到过,后来简单的处理为,用这个参数去得到dataset,然后重新去绑定报表。
sean168 2004-12-21
  • 打赏
  • 举报
回复
ParameterValues paramValues=new ParameterValues();//定义参数
ParameterDiscreteValue discreteVal = new ParameterDiscreteValue();
discreteVal.Value=toyear;
paramValues.Add(discreteVal);
ParameterValues paramValue=new ParameterValues();
for(int i=0;i<=paramValues.Count-1;i++)
{
paramValue.Clear();
paramValue.Add(paramValues[i]);
rptyi.DataDefinition.ParameterFields[i].ApplyCurrentValues(paramValue);

4,819

社区成员

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

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