datagridview数据传入晶体报告

时间:2013-08-15 14:46:52

标签: c# crystal-reports

这是我的水晶报告代码:

private void MonthlyReport_Load(object sender, EventArgs e)
    {

        CrystalReport1 report = new CrystalReport1();
        DataSet1TableAdapters.DataTable1TableAdapter table = new DataSet1TableAdapters.DataTable1TableAdapter();
        DataSet1.DataTable1DataTable tables = table.GetData();
        report.SetDataSource(tables.DefaultView);

        crystalReportViewer1.ReportSource = report;

        crystalReportViewer1.Refresh();


    }

这是我在过滤我想要打印的数据时的datagridview代码。

private void button1_Click(object sender, EventArgs e)
{
string searchValue = textBox1.Text;

 dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
dataTable1BindingSource.Filter = string.Format("{0} = '{1}'","bill_desc", searchValue    );
 //here you can do selection if you need

}

我的问题是如何将过滤后的数据传递给不同形式的水晶报表。请帮助!!

2 个答案:

答案 0 :(得分:0)

您可以指定.Net数据集作为Crystal Report的数据源:

  report.SetDataSource(DataSet1);

您可以过滤数据集而不是数据表视图,也可以创建仅包含过滤数据的临时数据集,并将其设置为数据源。

答案 1 :(得分:0)

 CrystalReport1 report = new CrystalReport1();
            DataSet1TableAdapters.DataTable1TableAdapter table = new DataSet1TableAdapters.DataTable1TableAdapter();
            DataSet1.DataTable1DataTable tables = table.GetData();
            report.SetDataSource(tables.DefaultView);

            crystalReportViewer1.ReportSource = report;

           // crystalReportViewer1.Refresh();//Remove this line

试试这个希望它的功能。