我想在crystal report中显示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.
答案 0 :(得分:0)
Crystal Report Viewer仅显示实际的Crystal Report。您不能只填充数据集,然后尝试在查看器中显示它,这是数据网格的工作方式,而不是Crystal Report。您必须创建Crystal报表,将数据用作源,然后在报表中显示字段。然后,将报告文件指定为查看器的数据源。
希望有所帮助,
克里斯