2015-10-31 33 views
0

我有一个CrystalReportViewer的形式,在上面有两个DateTimePickers的on按钮用于生成一个水晶报表与选定的日期范围,这是我的代码其工作,但我的问题是如何防止默认的“输入参数值”对话框显示,因为我只想使用我的datetimepickers。防止默认的“输入参数值”C#

private void button1_Click_1(object sender, EventArgs e) 
     { 
      ReportDocument RepDoc = new ReportDocument(); 
      RepDoc.Load(@"C:****I Put the path of report here"); 
      SqlConnection con = new SqlConnection(@"I Put the Data Source here"); 
      SqlDataAdapter sda = new SqlDataAdapter("Select * from Items", con); 
      StockDBDataSet ds = new StockDBDataSet(); 
      sda.Fill(ds, "Items"); 
      RepDoc.SetDataSource(ds); 
      ParameterFieldDefinitions ParameterFieldDefinitions; 
      ParameterFieldDefinition ParameterFieldDefinition; 
      ParameterValues ParameterValues = new ParameterValues(); 
      ParameterDiscreteValue ParameterDiscreteValue = new ParameterDiscreteValue(); 

      ParameterDiscreteValue.Value = dateTimePicker1.Value; 
      ParameterFieldDefinitions = RepDoc.DataDefinition.ParameterFields; 
      ParameterFieldDefinition = ParameterFieldDefinitions["Start_Date"]; 
      ParameterValues = ParameterFieldDefinition.CurrentValues; 

      ParameterValues.Clear(); 
      ParameterValues.Add(ParameterDiscreteValue); 
      ParameterFieldDefinition.ApplyCurrentValues(ParameterValues); 

      ParameterDiscreteValue.Value = dateTimePicker2.Value; 
      ParameterFieldDefinitions = RepDoc.DataDefinition.ParameterFields; 
      ParameterFieldDefinition = ParameterFieldDefinitions["End_Date"]; 
      ParameterValues = ParameterFieldDefinition.CurrentValues; 

      ParameterValues.Clear(); 
      ParameterValues.Add(ParameterDiscreteValue); 
      ParameterFieldDefinition.ApplyCurrentValues(ParameterValues); 

      crystalReportViewer1.ReportSource = RepDoc; 

     } 
+0

我删除它,对话框仍然出现 –

+0

检查此SO帖子http://stackoverflow.com/a/33185985/5104101。请注意'在添加SECOND参数“块中重置集合。为避免冲突,我建议不要将变量,类,控件命名为关键字名称,内置类名等。 – haraman

回答

0

试着包括这一行。

crystalReportViewer1.ParameterFieldInfo = RepDoc.ParameterFields; 

这个我认为应该为你做。