[英]How to display crystal report by date parameters selected from Win Forms in C#
记录报告
private void button1_Click(object sender, EventArgs e)
{
TR = Application.OpenForms.OfType<Records>().ElementAt(0);
try
{
ds = new DataSet2();
dt = new System.Data.DataTable();
dt = ConvertDGVtoDataTable(TR.recordsTableDataGridView);
ds.Tables.Add(dt);
ds.WriteXmlSchema("RecordsReport.xml");
try
{
ParameterFieldDefinitions crParameterFieldDefinitions;
ParameterFieldDefinition crParameterFieldDefinition;
ParameterValues crParameterValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();
crParameterDiscreteValue.Value = dateTimePicker1.Value;
crParameterFieldDefinitions = treport1.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["fromDate"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Clear();
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
crParameterDiscreteValue.Value = dateTimePicker2.Value;
crParameterFieldDefinitions = treport1.DataDefinition.ParameterFields;
crParameterFieldDefinition = crParameterFieldDefinitions["toDate"];
crParameterValues = crParameterFieldDefinition.CurrentValues;
crParameterValues.Add(crParameterDiscreteValue);
crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
// Report Form.
TReportDisplay TRD = new TReportDisplay();
Treport treport1 = new Treport();
TRD.crystalReportViewer2.ReportSource = treport1;
treport1.SetDataSource(ds);
TRD.Show();
TRD.crystalReportViewer2.Refresh();
}
catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); };
}
catch (Exception ex) { MessageBox.Show(ex.Message.ToString()); }
}
我的报表有两个参数, fromDate和toDate ,都定义为Date Time ,谨慎值。
我的选择记录公式如下:
如果删除此公式,则报告将显示所有内容,但是如果输入此公式,则报告将显示为空白。
解决:我的情况下,我不会使用数据库值,因为“ Arthi在这里出现” 使用datetimepicker筛选水晶报表中的数据
代替dateTimePicker1.Value,请尝试以下操作:
crParameterDiscreteValue.Value = dateTimePicker1.Text;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.