FieldGreetingLine

FieldGreetingLine class

实现 GREETINGLINE 字段。

public class FieldGreetingLine : Field

构造函数

姓名 描述
FieldGreetingLine() 默认构造函数。

特性

姓名 描述
AlternateText { get; set; } 获取或设置名称为空白时要包含在字段中的文本。
DisplayResult { get; } 获取表示显示字段结果的文本。
End { get; } 获取代表字段end的节点。
Format { get; } 得到一个FieldFormat提供对字段格式的类型化访问的对象。
IsDirty { get; set; } 获取或设置字段的当前结果是否由于对文档的其他修改而不再正确(陈旧)。
IsLocked { get; set; } 获取或设置字段是否被锁定(不应重新计算其结果)。
LanguageId { get; set; } 获取或设置用于格式化名称的语言 id。
LocaleId { get; set; } 获取或设置字段的LCID。
NameFormat { get; set; } 获取或设置包含在字段中的名称的格式。
Result { get; set; } 获取或设置字段分隔符和字段结尾之间的文本。
Separator { get; } 获取表示字段分隔符的节点。可以为空。
Start { get; } 获取表示字段开始的节点。
virtual Type { get; } 获取 Microsoft Word 字段类型。

方法

姓名 描述
GetFieldCode() 返回字段开始和字段分隔符之间的文本(或字段结束,如果没有分隔符)。 包括子字段的字段代码和字段结果。
GetFieldCode(bool) 返回字段开始和字段分隔符之间的文本(如果没有分隔符,则返回字段结束)。
GetFieldNames() 返回字段使用的邮件合并字段名称的集合。
Remove() 从文档中删除字段。在字段之后返回一个节点。如果字段的结尾是其父节点的最后一个 child ,则返回其父段落。如果该字段已被删除,则返回 无效的.
Unlink() 执行字段取消链接。
Update() 执行字段更新。如果该字段已被更新,则抛出。
Update(bool) 执行字段更新。如果该字段已被更新,则抛出。

评论

插入邮件合并问候语。

例子

显示如何插入 GREETINGLINE 字段。

Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);

// 使用 GREETINGLINE 字段创建通用问候语,并在其后添加一些文本。
FieldGreetingLine field = (FieldGreetingLine)builder.InsertField(FieldType.FieldGreetingLine, true);
builder.Writeln("\n\n\tThis is your custom greeting, created programmatically using Aspose Words!");

// GREETINGLINE 字段在邮件合并期间接受来自数据源的值,例如 MERGEFIELD。
// 一旦邮件合并完成,它还可以格式化源数据在其位置上的写入方式。
// 字段名称集合对应于数据源中的列
// 该字段将从中获取值。
Assert.AreEqual(0, field.GetFieldNames().Length);

// 要填充该数组,我们需要为我们的问候语指定格式。
field.NameFormat = "<< _BEFORE_ Dear >><< _TITLE0_ >><< _LAST0_ >><< _AFTER_ ,>> ";

// 现在,我们的字段将接受数据源中这两列的值。
Assert.AreEqual("Courtesy Title", field.GetFieldNames()[0]);
Assert.AreEqual("Last Name", field.GetFieldNames()[1]);
Assert.AreEqual(2, field.GetFieldNames().Length);

// 该字符串将涵盖任何数据表数据无效的情况
// 通过用字符串替换格式错误的名称。
field.AlternateText = "Sir or Madam";

// 设置区域设置以格式化结果。
field.LanguageId = new CultureInfo("en-US").LCID.ToString();

Assert.AreEqual(" GREETINGLINE  \\f \"<< _BEFORE_ Dear >><< _TITLE0_ >><< _LAST0_ >><< _AFTER_ ,>> \" \\e \"Sir or Madam\" \\l 1033", 
    field.GetFieldCode());

// 创建一个数据表,其中包含名称与元素匹配的列
// 从字段的字段名集合中,然后进行邮件合并。
DataTable table = new DataTable("Employees");
table.Columns.Add("Courtesy Title");
table.Columns.Add("First Name");
table.Columns.Add("Last Name");
table.Rows.Add("Mr.", "John", "Doe");
table.Rows.Add("Mrs.", "Jane", "Cardholder");

// 此行在 Courtesy Title 列中的值无效,因此我们的问候语将默认为备用文本。
table.Rows.Add("", "No", "Name");

doc.MailMerge.Execute(table);

Assert.That(doc.Range.Fields, Is.Empty);
Assert.AreEqual("Dear Mr. Doe,\r\r\tThis is your custom greeting, created programmatically using Aspose Words!\r" +
                "\fDear Mrs. Cardholder,\r\r\tThis is your custom greeting, created programmatically using Aspose Words!\r" +
                "\fDear Sir or Madam,\r\r\tThis is your custom greeting, created programmatically using Aspose Words!",
    doc.GetText().Trim());

也可以看看