Skip to main content
A newer version of this page is available. .
.NET Framework 4.5.2+

DocumentPosition.BeginUpdateDocument() Method

Starts modifying the document obtained via the document’s position (e.g. via the caret position).

Namespace: DevExpress.XtraRichEdit.API.Native

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

Declaration

public abstract SubDocument BeginUpdateDocument()

Returns

Type Description
SubDocument

A SubDocument instance allowing you to safely modify the document.

Remarks

Use the DocumentPosition.BeginUpdateDocument - DocumentPosition.EndUpdateDocument pair to modify the document obtained via its position in that document (i.e. by using the Document.CaretPosition property). In that case, it is very important to distinguish different parts of the document, such as header, footer or body. The BeginUpdateDocument method implements this requirement.

Note

If the location of the obtained document position is ambiguous (it may belong to either header, footer or body of the document), use the BeginUpdateDocument to perform modifications. Otherwise, an exception may occur.

Example

The following code snippet appends text to the end of the current paragraph. Note that the DocumentPosition.BeginUpdateDocument call is required for proper operation within header/footer since it returns a SubDocument interface.

Document document = server.Document;
document.BeginUpdate();
document.AppendText("First Paragraph\nSecond Paragraph\nThird Paragraph");
document.EndUpdate();
DocumentPosition pos = document.CaretPosition;
SubDocument doc = pos.BeginUpdateDocument();
Paragraph par = doc.Paragraphs.Get(pos);
DocumentPosition newPos = doc.CreatePosition(par.Range.End.ToInt() - 1);
doc.InsertText(newPos, "<<Appended to Paragraph End>>");
pos.EndUpdateDocument(doc);

The following code snippets (auto-collected from DevExpress Examples) contain references to the BeginUpdateDocument() method.

Note

The algorithm used to collect these code examples remains a work in progress. Accordingly, the links and snippets below may produce inaccurate results. If you encounter an issue with code examples below, please use the feedback form on this page to report the issue.

See Also