Silverlight 利用Telerik导出到Word续(改进篇)
来源:互联网 发布:最实惠的购物软件 编辑:程序博客网 时间:2024/04/29 03:20
1,定义一个gridview和两个exportoption
private RadGridView grid = new RadGridView();
private GridViewExportOptions options = new GridViewExportOptions();
private GridViewExportOptions innerOptions = new GridViewExportOptions();
2,将第一个exportoption设置成文本格式,第二个exportoption设置成html格式。
grid.ElementExporting += new EventHandler<GridViewElementExportingEventArgs>(grid_ElementExporting);
grid.ElementExported += new EventHandler<GridViewElementExportedEventArgs>(DataGridView_ElementExported);
grid.GridLinesVisibility = Telerik.Windows.Controls.GridView.GridLinesVisibility.None;
grid.BorderThickness = new Thickness(0);
grid.AutoGenerateColumns = false;
options.ShowColumnHeaders = false;
options.Format = ExportFormat.Text;
options.Encoding = System.Text.Encoding.UTF8;
innerOptions.ShowColumnHeaders = true;
innerOptions.Format = ExportFormat.Html;
innerOptions.Encoding = System.Text.Encoding.UTF8;
3,在grid中随意添加一个item
private void ExportButton_Click(object sender, RoutedEventArgs e)
{
SaveFileDialog dialog = new SaveFileDialog();
dialog.DefaultExt = "doc";
dialog.Filter = String.Format("{1} files (*.{0})|*.{0}|All files (*.*)|*.*", "doc", "Word");
dialog.FilterIndex = 1;
if (dialog.ShowDialog() == true)
{
using (Stream stream = dialog.OpenFile())
{
grid.Items.Add(new TextBlock());
grid.Export(stream, options);
}
}
}
4,最后就可以在element_exported回调中定义自己的打印逻辑了,格式完全按照html样式来调整
void DataGridView_ElementExported(object sender, GridViewElementExportedEventArgs e)
{
if (e.Element == ExportElement.Row)
{
if (Model != null)
{
e.Writer.Write(String.Format("<h1> {0}信息报表</h1>", Model.entername));
e.Writer.Write("<h2>基本信息</h2>\n");
e.Writer.Write("<p>");
e.Writer.Write(String.Format(@"<b>污染源:</b> {0} <br />", Model.code_pollute));
e.Writer.Write(String.Format(@"<b>企业名称:</b> {0} <br />", Model.entername));
e.Writer.Write(String.Format(@"<b>企业类型:</b> {0} <br />", Model.code_enterrelation));
e.Writer.Write(String.Format(@"<b>企业类型:</b> {0} <br />", Model.code_qualification));
e.Writer.Write(String.Format(@"<b>企业类型:</b> {0} <br />", Model.code_enterrelation));
e.Writer.Write("</p>\n");
e.Writer.Write("<h2>监测数据</h2>\n");
e.Writer.Write("<p>");
MemoryStream memoryStream = new MemoryStream();
DataGridView.Export(memoryStream, innerOptions);
memoryStream.Flush();
e.Writer.Write(System.Text.Encoding.UTF8.GetChars(memoryStream.ToArray()));
e.Writer.Write("</p>");
}
}
}
- Silverlight 利用Telerik导出到Word续(改进篇)
- Silverlight 利用Telerik导出到Word
- Silverlight 利用Telerik上传文件
- 利用word模板导出word文件并下载到本地
- Silverlight 数据导出(Excel,word)
- 利用工具将数据库中的表导出到word中
- 利用HttpContext 导出数据(word、excel)
- 利用IText导出Word
- 利用freemaker导出word
- 利用IText导出Word
- 利用模板导出文件(二)之jacob利用word模板导出word文件(Java2word)
- ASP导出到Word
- gridview 导出到word
- 导出到word
- GridView导出到Word
- GridView导出到Word
- datawindow导出到word
- DataSet导出到Word
- position定位
- Unix 一直保持
- Hadoop NameNode单点问题解决方案之一AvatarNode
- NAND flash和NOR flash的工作原理和嵌入式板子中用到的存储概念
- iphone启动页面,Default.png .
- Silverlight 利用Telerik导出到Word续(改进篇)
- 一个小公司老板的日常管理,希望能让创业的朋友学到东西
- 对group by 选取结果的排序
- 程序设计思想及范例(8),排序问题,选择法排序
- AutoIt 大悲惨! windows7 64bit 被折腾了n久!!!!! ListView
- 让编辑状态下的UITableViewCell响应点击事件时,不改变背景色
- C++调用outlook发送电子邮件替代shellexecute
- Mahout算法集
- Ant 全解(I )