TX Text Control 邮件合并(十)通过FieldAdapter操作ApplicationFields

TX Text Control .NET for Windows Forms中提供了ApplicationField类型来操作MS Word中一些标准的域,比如:合并域(MergeField)、日期(Date)以及页号(Numpages)等。这些域需要用到的参数都被封装称一个熟悉Parameters,可以通过Parameters来获取和设置每种域的参数。

发布于 2012/11/16 00:00

TX Text Control .NET for Windows Forms中提供了ApplicationField类型来操作MS Word中一些标准的域,比如:合并域(MergeField)、日期(Date)以及页号(Numpages)等。这些域需要用到的参数都被封装称一个熟悉Parameters,可以通过Parameters来获取和设置每种域的参数。
在使用与之前,我们需要了解一下标准域类型都有哪些,TX Text Control中通过FieldAdapter类型对以下标准域提供了支持:

 

  • MergeField
  • DateField
  • IfField
  • IncludeText
  • FormCheckbox
  • FormDropDown
  • FormText



通过以上这些类型可以创建和操作MS Word中的域类型,而且这些类型都将标准域的参数封装成一个个的属性,我们可以直接设置这些属性来控制域的行为。
下面我们以MS Word中MergeField为例,来了解在MS Word中如何设置域以及相关参数:

  1. {MERGEFIELD company \* Upper \b "Company:" \* MERGEFORMAT}
复制代码

下面的结果图解释了上面这行代码中每项参数设置的具体含义:


如果通过ApplicationField来访问MergeField,需要设置下面这些参数:

 
{ "company", "\* Upper", "\b \"Company\"", "\* MERGEFORMAT" }
复制代码

如果使用FieldAdapter类来操作MergeField又需要怎样实现呢?顾名思义,FieldAdapter是ApplicationField的一个适配器,我们可以创建一个MergeField类的实例,然后设置该实例的一些属性即可。

 
foreach (TXTextControl.ApplicationField field in textControl1.ApplicationFields)
{
    if(field.TypeName == "MERGEFIELD")
    {
        TXTextControl.DocumentServer.Fields.MergeField mergeField =
            new TXTextControl.DocumentServer.Fields.MergeField(field);
        mergeField.Name = "companyname";
    }
}
复制代码

在上面的代码中,我们首先判断了域的TypeName属性,如果是MergeField,就创建一个适配器类的实例,并将field作为创建实例时的参数,创建实例之后,我们就可以通过实例的名称来访问特定类型的域了。当然,你还可以将FieldAdapter类的实例插入到所有域的集合中。

 
TXTextControl.DocumentServer.Fields.MergeField mergeField =
        new TXTextControl.DocumentServer.Fields.MergeField();
    textControl1.ApplicationFields.Add(mergeField.ApplicationField);
复制代码

备注:使用FieldAdapter类,可以非常方便的处理MS Word中常用的域类型,你不必担心这些域的参数该如何设置,因为这些参数都已经被封装为一些属性,可以直接访问。

关于葡萄城

葡萄城软件是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态