Class 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());

也可以看看