【问题标题】:How to print datagrid's all records?如何打印datagrid的所有记录?
【发布时间】:2017-11-08 11:34:48
【问题描述】:

我在 wpf 中有一个 DataGrid,我想打印它的所有记录。

我搜索并找到了这段代码:

using System.Windows.Controls;
PrintDialog Printdlg = new PrintDialog();
if ((bool)Printdlg.ShowDialog().GetValueOrDefault())
{
    Size pageSize = new Size(Printdlg.PrintableAreaWidth, Printdlg.PrintableAreaHeight);
    // sizing of the element.
    dgBarnamehBaziha.Measure(pageSize);
    dgBarnamehBaziha.Arrange(new Rect(8, 8, pageSize.Width, pageSize.Height));
    Printdlg.PrintVisual(dgBarnamehBaziha, Title);
}

但是这段代码对我来说有一个问题:它只打印在打印时在 DataGrid 中显示的记录。也就是说,如果我的 DataGrid 的高度只显示 10 条记录,则只打印那些。

如何打印 DataGrid 中的所有记录?

【问题讨论】:

  • 我没用过,但你不应该使用数据网格的 Items 属性吗?
  • 没有我的朋友...
  • 尝试将数据网格放在视图框中,并打印它而不是 dgBarnamehBaziha
  • 您的DataGrid 中有EnableRowVirtualization = "True" 吗?如果是,请尝试将其设置为 False 并进行测试。

标签: c# wpf printing datagrid


【解决方案1】:

这里有一个你可能想尝试的库。它接受一个数据表作为输入,可以从你的数据源构造

https://www.codeproject.com/Articles/238135/WPF-Print-Engine-Part-I

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 2016-05-03
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    • 1970-01-01
    相关资源
    最近更新 更多