【发布时间】: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并进行测试。