FieldAutoNumLgl
Contents
[
Hide
]FieldAutoNumLgl class
Implements the AUTONUMLGL field.
To learn more, visit the Working with Fields documentation article.
public class FieldAutoNumLgl : Field
Constructors
Name | Description |
---|---|
FieldAutoNumLgl() | The default constructor. |
Properties
Name | Description |
---|---|
DisplayResult { get; } | Gets the text that represents the displayed field result. |
End { get; } | Gets the node that represents the field end. |
Format { get; } | Gets a FieldFormat object that provides typed access to field’s formatting. |
IsDirty { get; set; } | Gets or sets whether the current result of the field is no longer correct (stale) due to other modifications made to the document. |
IsLocked { get; set; } | Gets or sets whether the field is locked (should not recalculate its result). |
LocaleId { get; set; } | Gets or sets the LCID of the field. |
RemoveTrailingPeriod { get; set; } | Gets or sets whether to display the number without a trailing period. |
Result { get; set; } | Gets or sets text that is between the field separator and field end. |
Separator { get; } | Gets the node that represents the field separator. Can be null . |
SeparatorCharacter { get; set; } | Gets or sets the separator character to be used. |
Start { get; } | Gets the node that represents the start of the field. |
virtual Type { get; } | Gets the Microsoft Word field type. |
Methods
Name | Description |
---|---|
GetFieldCode() | Returns text between field start and field separator (or field end if there is no separator). Both field code and field result of child fields are included. |
GetFieldCode(bool) | Returns text between field start and field separator (or field end if there is no separator). |
Remove() | Removes the field from the document. Returns a node right after the field. If the field’s end is the last child of its parent node, returns its parent paragraph. If the field is already removed, returns null . |
Unlink() | Performs the field unlink. |
Update() | Performs the field update. Throws if the field is being updated already. |
Update(bool) | Performs a field update. Throws if the field is being updated already. |
Remarks
Inserts an automatic number in legal format.
Examples
Shows how to organize a document using AUTONUMLGL fields.
public void FieldAutoNumLgl()
{
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
const string fillerText = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " +
"\nUt enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. ";
// AUTONUMLGL fields display a number that increments at each AUTONUMLGL field within its current heading level.
// These fields maintain a separate count for each heading level,
// and each field also displays the AUTONUMLGL field counts for all heading levels below its own.
// Changing the count for any heading level resets the counts for all levels above that level to 1.
// This allows us to organize our document in the form of an outline list.
// This is the first AUTONUMLGL field at a heading level of 1, displaying "1." in the document.
InsertNumberedClause(builder, "\tHeading 1", fillerText, StyleIdentifier.Heading1);
// This is the second AUTONUMLGL field at a heading level of 1, so it will display "2.".
InsertNumberedClause(builder, "\tHeading 2", fillerText, StyleIdentifier.Heading1);
// This is the first AUTONUMLGL field at a heading level of 2,
// and the AUTONUMLGL count for the heading level below it is "2", so it will display "2.1.".
InsertNumberedClause(builder, "\tHeading 3", fillerText, StyleIdentifier.Heading2);
// This is the first AUTONUMLGL field at a heading level of 3.
// Working in the same way as the field above, it will display "2.1.1.".
InsertNumberedClause(builder, "\tHeading 4", fillerText, StyleIdentifier.Heading3);
// This field is at a heading level of 2, and its respective AUTONUMLGL count is at 2, so the field will display "2.2.".
InsertNumberedClause(builder, "\tHeading 5", fillerText, StyleIdentifier.Heading2);
// Incrementing the AUTONUMLGL count for a heading level below this one
// has reset the count for this level so that this field will display "2.2.1.".
InsertNumberedClause(builder, "\tHeading 6", fillerText, StyleIdentifier.Heading3);
foreach (FieldAutoNumLgl field in doc.Range.Fields.Where(f => f.Type == FieldType.FieldAutoNumLegal))
{
// The separator character, which appears in the field result immediately after the number,
// is a full stop by default. If we leave this property null,
// our last AUTONUMLGL field will display "2.2.1." in the document.
Assert.IsNull(field.SeparatorCharacter);
// Setting a custom separator character and removing the trailing period
// will change that field's appearance from "2.2.1." to "2:2:1".
// We will apply this to all the fields that we have created.
field.SeparatorCharacter = ":";
field.RemoveTrailingPeriod = true;
Assert.AreEqual(" AUTONUMLGL \\s : \\e", field.GetFieldCode());
}
doc.Save(ArtifactsDir + "Field.AUTONUMLGL.docx");
}
/// <summary>
/// Uses a document builder to insert a clause numbered by an AUTONUMLGL field.
/// </summary>
private static void InsertNumberedClause(DocumentBuilder builder, string heading, string contents, StyleIdentifier headingStyle)
{
builder.InsertField(FieldType.FieldAutoNumLegal, true);
builder.CurrentParagraph.ParagraphFormat.StyleIdentifier = headingStyle;
builder.Writeln(heading);
// This text will belong to the auto num legal field above it.
// It will collapse when we click the arrow next to the corresponding AUTONUMLGL field in Microsoft Word.
builder.CurrentParagraph.ParagraphFormat.StyleIdentifier = StyleIdentifier.BodyText;
builder.Writeln(contents);
}
See Also
- class Field
- namespace Aspose.Words.Fields
- assembly Aspose.Words