【发布时间】:2021-04-02 04:18:24
【问题描述】:
如何将我的报表/报表查看器绑定到数据网格视图,其中数据源作为报表数据集的数据源? 我在报告中创建了 ID 卡设计。我在我的数据库字段(数据集)中绑定报告中的所有文本框。但是当我运行程序时,reportViewer 只显示数据库第一行的数据。
现在,我想将我的报告绑定到一个数据网格,以便我可以控制要在 reportViewer 中显示的行。
到目前为止,我已经搜索了互联网,这是我发现的;
DataTable dtRep = ((DataTable)dgv.DataSource).Clone();
foreach (DataGridViewRow row in dgv.SelectedRows)
{
dtRep.ImportRow(((DataTable)dgv.DataSource).Rows[row.Index]);
}
dtRep.AcceptChanges();
但这在 wpf 中不起作用,有人可以帮助我编写可以帮助我完成此任务的代码吗? (谢谢)
更新 很抱歉,我在上传问题时用完了信用,请原谅我的无知;
这是我的代码中的错误图像;
DataTable dtRep = ((DataTable)dgvRESULTPRINTER.ItemsSource).Clone();
foreach (DataGridViewRow row in dgvRESULTPRINTER.SelectedItems)
{
dtRep.ImportRow(((DataTable)dgvRESULTPRINTER.DataSource).Rows[row.Index]);
}
dtRep.AcceptChanges();
【问题讨论】:
-
很难按照您的要求进行操作。目前尚不清楚代码如何与问题文本相关联。该代码似乎将网格中的“选定”行...从网格数据表(数据源)...导入/复制到新数据表。在我的测试中,代码似乎可以工作,但不清楚 “不起作用” 是什么意思。与发布的代码有关的具体情况是什么?
-
您需要明确您的目标平台是什么... WPF 或 Winforms。 WPF 中没有
DataGridView控件。此外,代码似乎以不可能的方式混合了网格的DataSource和ItemsSource。就目前而言,由于多种原因,该代码在任何一个平台上都无法运行。为了您和我们的利益,请澄清这一点。如果您使用的是 WPF,则删除DataGridView标记并将其切换为DataGrid。如果您使用的是 Winforms,则删除 WPF 标记。 WPF 和 DataGridView 标记缺少您的目标受众,因为它们不属于一起。
标签: c# wpf datagridview