1

这是我的水晶报告代码:

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

}

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

4

2 回答 2

0

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

  report.SetDataSource(DataSet1);

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

于 2013-08-15T15:14:06.397 回答
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

试试这个希望它的工作。

于 2014-01-20T07:33:11.327 回答