0
我试图将DataGridView作为数据源用于报表,我想在报表中显示DataGridView中的表。我搜索,我发现这里的代码,以便告诉我做这样的事情:在我的报表生成报告使用DataGridView作为报表查看器的数据源
private void GenerateReport_Click(object sender, EventArgs e)
{
ReportForm reportForm = new ReportForm(DataGrid);
reportForm.ShowDialog();
}
按钮:
private DataGridView grid;
private void ReportForm_Load(object sender, EventArgs e)
{
DataTable dt = (DataTable)grid.DataSource;
dt.TableName = "reportSource";
reportViewer1.ProcessingMode = ProcessingMode.Local;
ReportDataSource rds = new ReportDataSource("reportSource", dt);
reportViewer1.LocalReport.DataSources.Clear();
reportViewer1.LocalReport.DataSources.Add(rds);
this.reportViewer1.RefreshReport();
}
ReportForm的构造
public ReportForm(DataGridView grid)
{
InitializeComponent();
this.grid = grid;
}
但我有一个空的报告。
你收到一个异常或报表查看器显示任何错误? –
您不应该向我们展示您的ReportForm的构造函数吗?将您的构造函数的参数更改为传递DataTable,而不是整个网格控件。 – LarsTech
不只是一个空的表单,我将使用ReportForm的构造函数更新问题,但我已经尝试传递dataTable,并得到相同的结果。 – user3670112