Skip to main content
All docs
V24.2

DevExpress v24.2 Update — Your Feedback Matters

Our What's New in v24.2 webpage includes product-specific surveys. Your response to our survey questions will help us measure product satisfaction for features released in this major update and help us refine our plans for our next major release.

Take the survey Not interested

FieldCollection.Unlink() Method

Replaces all fields in the collection with field values.

Namespace: DevExpress.XtraRichEdit.API.Native

Assembly: DevExpress.RichEdit.v24.2.Core.dll

NuGet Package: DevExpress.RichEdit.Core

#Declaration

#Remarks

The Unlink method converts field results to text or graphics. Unlinked fields cannot be updated.

Use the Field.Unlink method to unlink a field. The Document.UnlinkAllFields method allows you to unlink all fields in the document.

#Examples

The examples below demonstrate how to unlink all fields in specific parts of a document (main body, text box, header, footer, comment, footnote, and endnote).

using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
//...

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    // Access a document.
    Document document = wordProcessor.Document;
    //...
    // Unlink all fields in the main document body.
    document.Fields.Unlink();
}

The following example unlinks all fields in text boxes:

using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
//...

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    // Access a document.
    Document document = wordProcessor.Document;

    // Check all shapes in the document.
    foreach (Shape shape in document.Shapes)
    {
        // Check whether the shape is a text box.
        if (shape.ShapeFormat.HasText)
        {
            // Access text box content.
            SubDocument textBoxDocument = shape.ShapeFormat.TextBox.Document;
            //...
            // Unlink all fields in the text box.
            textBoxDocument.Fields.Unlink();
        }
    }
}
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
//...

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    // Access a document.
    Document document = wordProcessor.Document;
    // Check all document sections.
    foreach (Section section in document.Sections)
    {
        // Check whether the section has a primary header.
        if (section.HasHeader(HeaderFooterType.Primary))
        {
            // Start to edit the document header.
            SubDocument headerContent = section.BeginUpdateHeader();
            //...
            // Unlink all fields in the document header.
            headerContent.Fields.Unlink();
            // Finalize to edit the document header.
            section.EndUpdateHeader(headerContent);
        }

        // Check whether the section has a primary footer.
        if (section.HasFooter(HeaderFooterType.Primary))
        {
            // Start to edit the document footer.
            SubDocument footerContent = section.BeginUpdateFooter();
            //...
            // Unlink all fields in the document footer.
            footerContent.Fields.Unlink();
            // Finalize to edit the document footer.
            section.EndUpdateFooter(footerContent);
        }
    }
}
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
//...

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    // Access a document.
    Document document = wordProcessor.Document;
    // Check all document comments.
    foreach (Comment comment in document.Comments)
    {
        // Access comment content.
        SubDocument commentContent = comment.BeginUpdate();
        //...
        // Unlink all fields in the comment.
        commentContent.Fields.Unlink();
        // Finalize to edit the comment.
        comment.EndUpdate(commentContent);
    }
}
using DevExpress.XtraRichEdit;
using DevExpress.XtraRichEdit.API.Native;
//...

using (RichEditDocumentServer wordProcessor = new RichEditDocumentServer())
{
    // Access a document.
    Document document = wordProcessor.Document;
    // Check all document footnotes.
    foreach (Note footnote in document.Footnotes)
    {
        // Access footnote content.
        SubDocument footnoteContent = footnote.BeginUpdate();
        //...
        // Unlink all fields in the footnote.
        footnoteContent.Fields.Unlink();
        // Finalize to edit the footnote.
        footnote.EndUpdate(footnoteContent);
    }

    // Check all document endnotes.
    foreach (Note endnote in document.Endnotes)
    {
        // Access endnote content.
        SubDocument endnoteContent = endnote.BeginUpdate();
        //...
        // Unlink all fields in the endnote.
        endnoteContent.Fields.Unlink();
        // Finalize to edit the endnote.
        endnote.EndUpdate(endnoteContent);
    }
}
See Also