我将combox值作为参数传递给Crystal报表,但是当我运行我的应用程序时,它要求我提供该值,如下所示。如何避免/跳过此提示对话框,直接将值从组合框传递到Crystal报表?
这是我的代码:
private void button2_Click(object sender, EventArgs e)
{
DataSet ds = new DataSet();
DataTable dt = new DataTable();
dt.Columns.Add("id", typeof(Int16));
dt.Columns.Add("month", typeof(string));
foreach (DataGridViewRow row in dataGridView1.Rows)
{
dt.Rows.Add(row.Cells[0].Value, row.Cells[1].Value);
}
ds.Tables.Add(dt);
ds.WriteXmlSchema("sample.xml");
CrystalReport2 rpt = new CrystalReport2();
rpt.SetParameterValue("name",comboBox1.Text);
rpt.SetDataSource(ds);
crystalReportViewer1.ReportSource = rpt;
}
尝试更换
rpt.SetParameterValue("name",comboBox1.Text);
和
rpt.ParameterFields.Item["name"].CurrentValues = comboBox1.Text;
rpt.ParameterFields.Item["name"].HasCurrentValue = true;
如果不起作用,请尝试此
var param= new CrystalDecisions.Shared.ParameterValues();
var paramVal = new CrystalDecisions.Shared.ParameterDiscreteValue();
paramVal.Value = comboBox1.Text;
param.Add(paramVal);
rpt.SetParameterValue("name", param)
我已经适应了从代码在这里为你
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句