0

我想在水晶报表中显示我当前的 datagridview 数据。为此,我使用了两个按钮,第一个按钮单击在 datagridview 中填充数据。我想在第二个按钮上单击水晶报表中显示的这个数据。我第一次使用水晶报告,不知道如何处理它。我已经尝试了很多,但不能这样做。在第二个按钮上单击我输入以下代码。

 private void button2_Click(object sender, EventArgs e)
    {
        DataSet ds = new DataSet();
        DataTable dt = new DataTable();
        foreach (DataGridViewColumn col in dataGridView2.Columns)
        {
            dt.Columns.Add(col.HeaderText);
        }

        foreach (DataGridViewRow row in dataGridView2.Rows)
        {
            DataRow dRow = dt.NewRow();
            foreach (DataGridViewCell cell in row.Cells)
            {
                dRow[cell.ColumnIndex] = cell.Value;
            }
            dt.Rows.Add(dRow);
        }

        ds.Tables.Add(dt);

        crystalReportViewer1.ReportSource = ds;
    }   

我在最后一行收到以下错误。

 Object reference not set to an instance of an object.
4

1 回答 1

0

Crystal Report Viewer 将只显示一个实际的 Crystal Report。您不能只填充数据集然后尝试在查看器中显示它,这就是数据网格的工作方式,而不是 Crystal Report。您必须创建一个 Crystal Report,使用您的数据作为源,然后在报告中显示字段。然后将报告文件指定为查看器的数据源。

希望有帮助,

克里斯

于 2013-10-11T19:52:06.920 回答