我需要打印datagridview的内容,行和列中的简单文本,用.NET中的GDI +打印。
要做到这一点,我需要迭代行,绘制线条,迭代列,计算宽度,高度,如果内容不适合一行,则包装内容等等。这是可能的,但是有一个简化GDI +中表格绘制的库,并将一些困难抽象出来?
答案 0 :(得分:2)
这是一个非常常见的请求。简单的关键字,谷歌“打印datagridview”。这是一个decent looking one。
答案 1 :(得分:0)
我使用XML和XslCompiledTransform
实现了这一点。
您需要构建XML(最简单的方法是使用LINQ2XML),然后让您的XSLT通过枚举XML生成的值来构建HTML表。然后,您可以在WebBrowser
控件中表示此内容,并告诉页面使用WebBrowser.ShowPrintPreviewDialog
进行打印。
使用WebBrowser
的优点是提供了所有页面布局工具,因此您无需担心它。
粘贴我自己的实现将是巨大的,但如果您需要澄清任何内容,请告诉我。
当然,如果您有固定数量的列,为什么不尝试represent it on a report?