繁体   English   中英

水晶报表刷新数据

[英]Crystal Report refresh Data

我正在开发.net Windows窗体中的应用程序,问题是这样的。

我有一个CystalReportViewer链接到带有输入参数,ODBC连接的过程,问题或疑问是如何更新报表而不必键入已经从代码中附带的参数

nformeAvanceObra objReport = new InformeAvanceObra();  //  Object .rpt report
objReport.SetParameterValue("CodCoti", CodCotizacion);//parameter that I send to Procedure
objReport.SetParameterValue("Fecha2", Fecha);// parameter that I send to Procedure
crystalReportViewer.ReportSource = objReport; //asigno al viewer.

可以帮助我或让我知道如何实现自己想要的目标? , 谢谢

我可能未正确理解您的问题。.“从代码运送”是什么意思?

如果Crystal Reports正在运行您的过程,则您的Crystal Reports应该是将参数发送到过程的那个。 如果需要参数来运行该过程,可以,您需要将此参数提供给Crystal Reports报表。

如果要将参数固定为某个值,则不必从代码中发送过来。 但是,当然您需要为此更改报告!

示例如何发送参数:

ReportDocument reportDocument = new ReportDocument();

ParameterFields paramFields = new ParameterFields();
// ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();

ParameterField paramField = new ParameterField();
ParameterDiscreteValue paramDiscreteValue = new ParameterDiscreteValue();
paramField.Name = "@Dept";
paramDiscreteValue.Value = TextBox1.Text.ToString();
paramField.CurrentValues.Add(paramDiscreteValue);
paramFields.Add(paramField);

paramField = new ParameterField(); // <-- This line is added
paramDiscreteValue = new ParameterDiscreteValue();  // <-- This line is added
paramField.Name = "@Name";
paramDiscreteValue.Value = TextBox2.Text.ToString();
paramField.CurrentValues.Add(paramDiscreteValue);
paramFields.Add(paramField);

CrystalReportViewer1.ParameterFieldInfo = paramFields;
reportDocument.Load(Server.MapPath("CrystalReport.rpt"));
CrystalReportViewer1.ReportSource = reportDocument;
reportDocument.SetDatabaseLogon("sa", "sa", "OPWFMS-7KYGZ7SB", "test");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM