c# - 如何使用 ListViewPrinter 类打印 Objectlistview

标签 c# printing objectlistview

我需要打印一个objectlistview,并想使用ListViewPrinter-Class。 这是 a 已经做过的事情:

BrightIdeasSoftware.ListViewPrinter printer = new BrightIdeasSoftware.ListViewPrinter();
printer.AlwaysCenterListHeader = true;
printer.ListView = this.AenderungenFOLV;
printer.DocumentName = "Fuhrpark Änderungsliste";
printer.Header = "Fuhrpark Änderungsliste";
printer.DefaultPageSettings.Margins.Top = 5;
printer.DefaultPageSettings.Margins.Left = 5;
printer.DefaultPageSettings.Margins.Right = 5;
printer.IsListHeaderOnEachPage = true;
printer.Watermark = "Fuhrpark";
printer.WatermarkTransparency = 50;
printer.Footer = "Fuhrpark - " + DateTime.Now.ToString("dddd, dd.MMMM yyyy HH:mm");
printer.PrintPreview();

这是前面代码的结果: This is the result of the previous code

我想让列表适合页面大小。它总是那么小并且包裹着 ListHeader。设置

printer.ListHeaderFormat.CanWrap = false;

不工作。它只是使标题文本以“...”结尾。

提前致谢。

问候,放松

最佳答案

我相信这两个“功能”均不受开箱即用支持。本质上,ListViewPrinter 正在打印 ObjectListView 的精确表示。如果您的标题没有包含在 OLV 本身中,则可能是由于字体较小所致。

关于调整页面大小,它归结为同样的问题。 ListViewPrinter 本身不会操作 OLV。但是,您可以在打印之前手动重新设置列格式以适合页面,然后再重置。

我正在我的一个应用程序中执行类似的操作,因为用户可以动态选择应打印哪些列。该对话框包含一个 PrintPreviewControl,它可以立即更新所做的任何更改的 View 。如果您更改列或整个 ListView 的宽度,ListViewPrinter 将反射(reflect)这一点。

关于c# - 如何使用 ListViewPrinter 类打印 Objectlistview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24569457/

相关文章:

javascript - 如何控制打印字体大小

go - 用bufio和scanf读取相同的输入有不同的结果

c - 如何将输出打印成表格形式?

c# - 如何在 Visual Studio for OSX 上搭建项目基架

c# - Entity Framework 4,插入外键值而不是 ID

c# - 如何在 c# 中减少这个 IF-Else 阶梯

c# - ObjectListView 显示图标

python - 如何填充ObjectListView每一行的空白?

c# - ObjectListView 中的可重新排序项目

c# - 有没有简单的方法(包装器/字典)从 Keys enum 转换为 SenKeys 字符串?