我需要将SL DataGrid导出为HTML,以便我的用户可以打印它。有人能让我朝着正确的方向前进吗?
Upate:在阅读Rob的回答后,我正在改变我的问题。而不是Silverlight Grid到HTML,我现在只想将其导出为PDF。有没有人在Silverlight中使用过任何第三方PDF生成器?
答案 0 :(得分:1)
HTML是一个糟糕的打印选择,原因有很多,本网站上有很好的记录,所以我不会深入了解它们。
我建议您导出为PDF而不是尝试使用HTML路由。对于导出为PDF,有许多优秀的.Net工具available。其他选项包括将您的网格导出到电子表格程序,如Excel,Spreadsheet Gear或OpenOffice Calc,它将提供其他功能。
答案 1 :(得分:1)
这可能是一个延伸,但是如何将Silverlight Xaml导出到XPS并将XPS文档返回给用户(可打印)。您可以下载free XPS viewer here。我以前用WPF和XBAP做过这个,所以我想你可以在服务器端执行此操作,让用户下载XPS文档。
答案 2 :(得分:1)
如果要在Silverlight中生成PDF或XPS,则必须往返于服务器。有多种框架和工具可用于在.NET中生成PDF。
但是,我不会放弃生成HTML以在Silverlight 2中进行打印的想法。我认为这是一个很好的主意,我不认为网页打印会破碎。使用CSS打印样式表的HTML非常有用。
我最近做了一篇博客文章,描述了如何使用ASP.NET AJAX 4.0客户端模板在客户端上使用Silverlight 2生成HTML。不应该很难编写一段C#代码来转换任何数据网格到HTML表格。
但是,如果您知道在数据网格中显示的对象类型,则可以根据对象结构生成自己的HTML。
您可以使用多种方法在Silverlight中生成HTML:
您使用HTML Bridge将HTML传回浏览器(google for it获取更多信息)。
您还应该check out my blog post for a comprehensive overview of printing options in Silverlight。