TX Text Control 邮件合并(五)实现邮件合并模板设计器

发布时间:2012/11/16 00:11 发布者:葡萄城产品团队

返回博客中心

TX Text Control控件典型应用之一是邮件合并操作,将TX Text Control对MS Word域的兼容能力与TX Text Control Server for ASP.NET(incl. Windows Forms)的MailMerge组件结合使用,可以非常方便的创建出功能强大的邮件合并系统。
TX Text Control不仅支持合并操作,还提供了所见即所得的编辑器来创建模板文档。示例工程演示了TX Text Control 邮件合并中最可能使用到的功能:

  • 数据绑定
  • 添加域
  • 预览
  • 导出合并之后的文档

示例工程看上去与MS Word的邮件合并功能有些相似,不过该示例提供了源码,可以完成复杂的自定义功能。下面是详细的实现步骤:

1、连接数据源
选择在工具栏或者Mail Merge菜单中 Select recipients项


在打开的对话框中,浏览并选择address.xml文件
我们会发现在工具栏的下拉款中添加了DataTable的名称,如果数据源中包含多个DataTable,我们可以在下拉款中选择我们需要的 DataTable。基于之前选择的DataTable,所有合并域会自动添加到Insert Field下拉按钮和Insert Merge Field菜单中。


2、插入合并域
在下拉列表中选择需要插入的合并域,被选中的合并域会被插入到当前输入光标所在的位置


我们还可以通过工具栏中的三个按钮来切换合并域的显示方式



  • Field  code:将会以MS Word 域的形式显示
  • Field text:将会显示结果或者域的名称
  • Preview:将会显示合并之后的结果



点击Preview按钮之后,可以通过数据源导航工具栏,查看实际数据域模板合并之后的结果。


3、导出文档
最终通过点击Export按钮,开始邮件合并操作。该操作会打开一个新的窗体,窗体中包含一个TX Text Control和一个简单的工具栏。DocumnetServer.MailMerge将在后台完成模板与数据源的合并操作,合并之后的文档将被显示在窗体的TX Text Control控件中,而整个合并过程其实只需3行代码:

 
mailMerge.TextComponent = tx;
mailMerge.LoadTemplateFromMemory(Document,
    TXTextControl.DocumentServer.FileFormat.InternalUnicodeFormat);
mailMerge.Merge(DataTable, true);
复制代码



源码:VS2010 + TX Text Control 17.0

tx_sample_mailmerge_designer.zip (109.07 K, 下载次数:24)

关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网