如何将组合框值作为参数传递给c#中的crystal报表

时间:2014-12-05 15:39:26

标签: c# combobox crystal-reports

我将combox值作为参数传递给crystal report但是当我运行我的应用程序时它会询问我的值,如下所示。如何避免/跳过此提示对话框并直接将值从组合框传递到水晶报告?

enter image description here

这是我的代码:

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;
        }

1 个答案:

答案 0 :(得分:2)

尝试替换

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)

我已经为您here修改了代码