如何在 Web 表单上设置将应用于 crystal 报告的范围参数?
How do I set a Range Parameter on the web form that will be applied on the crystal report?
我最近创建了一个由 2 个表单组成的 WebForm,第一个表单仅包含一个按钮,用于重定向到第二个表单,然后打开 Crystal 报告。
所有这一切都工作正常,但现在我想在第一个 WebForm 上插入一个参数(过滤范围),以便在我打开它后它会直接应用于 crystal 报告。
关于我需要包含哪些代码的任何想法?任何帮助都会很棒。
编辑:
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(Server.MapPath("CrystalReportCustomerInfo.rpt"));
CrystalReportCustomerinfo.ReportSource = cryRpt;
ParameterFieldDefinitions FirstParameterFieldDefinitions;
ParameterFieldDefinition FirstParameterFieldDefinition;
ParameterValues FirstParameterValues = new ParameterValues();
ParameterDiscreteValue FirstParameterDiscreteValue = new ParameterDiscreteValue();
FirstParameterDiscreteValue.Value = Txt1.Text;
FirstParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
FirstParameterFieldDefinition = FirstParameterFieldDefinitions["FromID"];
FirstParameterValues = FirstParameterFieldDefinition.CurrentValues;
FirstParameterValues.Clear();
FirstParameterValues.Add(FirstParameterDiscreteValue);
ParameterFieldDefinitions SecondParameterFieldDefinitions;
ParameterFieldDefinition SecondParameterFieldDefinition;
ParameterValues SecondParameterValues = new ParameterValues();
ParameterDiscreteValue SecondParameterDiscreteValue = new ParameterDiscreteValue();
SecondParameterDiscreteValue.Value = Txt2.Text;
SecondParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
SecondParameterFieldDefinition = SecondParameterFieldDefinitions["ToID"];
SecondParameterValues = SecondParameterFieldDefinition.CurrentValues;
SecondParameterValues.Clear();
SecondParameterValues.Add(SecondParameterDiscreteValue);
FirstParameterFieldDefinition.ApplyCurrentValues(FirstParameterValues);
SecondParameterFieldDefinition.ApplyCurrentValues(SecondParameterValues);
CrystalReportCustomerinfo.ReportSource = cryRpt;
CrystalReportCustomerinfo.RefreshReport();
}
试一试
private void btnReport_Click(object sender, EventArgs e)
{
ReportDocument rpt = new ReportDocument();
rpt.Load(Server.MapPath("~/CrystalReportCustomerInfo.rpt"));
ParameterFieldDefinitions FirstParameterFieldDefinitions;
ParameterFieldDefinition FirstParameterFieldDefinition;
ParameterValues FirstParameterValues = new ParameterValues();
ParameterDiscreteValue FirstParameterDiscreteValue = new ParameterDiscreteValue();
FirstParameterDiscreteValue.Value = Convert.ToInt32(from.Text);
FirstParameterFieldDefinitions = rpt.DataDefinition.ParameterFields;
FirstParameterFieldDefinition = FirstParameterFieldDefinitions["FromID"];
FirstParameterValues = FirstParameterFieldDefinition.CurrentValues;
FirstParameterValues.Clear();
FirstParameterValues.Add(FirstParameterDiscreteValue);
ParameterFieldDefinitions SecondParameterFieldDefinitions;
ParameterFieldDefinition SecondParameterFieldDefinition;
ParameterValues SecondParameterValues = new ParameterValues();
ParameterDiscreteValue SecondParameterDiscreteValue = new ParameterDiscreteValue();
SecondParameterDiscreteValue.Value = Convert.ToInt32(to.Text); ;
SecondParameterFieldDefinitions = rpt.DataDefinition.ParameterFields;
SecondParameterFieldDefinition = SecondParameterFieldDefinitions["ToID"];
SecondParameterValues = SecondParameterFieldDefinition.CurrentValues;
SecondParameterValues.Clear();
SecondParameterValues.Add(SecondParameterDiscreteValue);
FirstParameterFieldDefinition.ApplyCurrentValues(FirstParameterValues);
SecondParameterFieldDefinition.ApplyCurrentValues(SecondParameterValues);
CrystalReportViewer1.ReportSource = rpt;
}
我最近创建了一个由 2 个表单组成的 WebForm,第一个表单仅包含一个按钮,用于重定向到第二个表单,然后打开 Crystal 报告。
所有这一切都工作正常,但现在我想在第一个 WebForm 上插入一个参数(过滤范围),以便在我打开它后它会直接应用于 crystal 报告。
关于我需要包含哪些代码的任何想法?任何帮助都会很棒。
编辑:
ReportDocument cryRpt = new ReportDocument();
cryRpt.Load(Server.MapPath("CrystalReportCustomerInfo.rpt"));
CrystalReportCustomerinfo.ReportSource = cryRpt;
ParameterFieldDefinitions FirstParameterFieldDefinitions;
ParameterFieldDefinition FirstParameterFieldDefinition;
ParameterValues FirstParameterValues = new ParameterValues();
ParameterDiscreteValue FirstParameterDiscreteValue = new ParameterDiscreteValue();
FirstParameterDiscreteValue.Value = Txt1.Text;
FirstParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
FirstParameterFieldDefinition = FirstParameterFieldDefinitions["FromID"];
FirstParameterValues = FirstParameterFieldDefinition.CurrentValues;
FirstParameterValues.Clear();
FirstParameterValues.Add(FirstParameterDiscreteValue);
ParameterFieldDefinitions SecondParameterFieldDefinitions;
ParameterFieldDefinition SecondParameterFieldDefinition;
ParameterValues SecondParameterValues = new ParameterValues();
ParameterDiscreteValue SecondParameterDiscreteValue = new ParameterDiscreteValue();
SecondParameterDiscreteValue.Value = Txt2.Text;
SecondParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields;
SecondParameterFieldDefinition = SecondParameterFieldDefinitions["ToID"];
SecondParameterValues = SecondParameterFieldDefinition.CurrentValues;
SecondParameterValues.Clear();
SecondParameterValues.Add(SecondParameterDiscreteValue);
FirstParameterFieldDefinition.ApplyCurrentValues(FirstParameterValues);
SecondParameterFieldDefinition.ApplyCurrentValues(SecondParameterValues);
CrystalReportCustomerinfo.ReportSource = cryRpt;
CrystalReportCustomerinfo.RefreshReport();
}
试一试
private void btnReport_Click(object sender, EventArgs e)
{
ReportDocument rpt = new ReportDocument();
rpt.Load(Server.MapPath("~/CrystalReportCustomerInfo.rpt"));
ParameterFieldDefinitions FirstParameterFieldDefinitions;
ParameterFieldDefinition FirstParameterFieldDefinition;
ParameterValues FirstParameterValues = new ParameterValues();
ParameterDiscreteValue FirstParameterDiscreteValue = new ParameterDiscreteValue();
FirstParameterDiscreteValue.Value = Convert.ToInt32(from.Text);
FirstParameterFieldDefinitions = rpt.DataDefinition.ParameterFields;
FirstParameterFieldDefinition = FirstParameterFieldDefinitions["FromID"];
FirstParameterValues = FirstParameterFieldDefinition.CurrentValues;
FirstParameterValues.Clear();
FirstParameterValues.Add(FirstParameterDiscreteValue);
ParameterFieldDefinitions SecondParameterFieldDefinitions;
ParameterFieldDefinition SecondParameterFieldDefinition;
ParameterValues SecondParameterValues = new ParameterValues();
ParameterDiscreteValue SecondParameterDiscreteValue = new ParameterDiscreteValue();
SecondParameterDiscreteValue.Value = Convert.ToInt32(to.Text); ;
SecondParameterFieldDefinitions = rpt.DataDefinition.ParameterFields;
SecondParameterFieldDefinition = SecondParameterFieldDefinitions["ToID"];
SecondParameterValues = SecondParameterFieldDefinition.CurrentValues;
SecondParameterValues.Clear();
SecondParameterValues.Add(SecondParameterDiscreteValue);
FirstParameterFieldDefinition.ApplyCurrentValues(FirstParameterValues);
SecondParameterFieldDefinition.ApplyCurrentValues(SecondParameterValues);
CrystalReportViewer1.ReportSource = rpt;
}