Back to Devexpress

DocumentPosition.BeginUpdateDocument() Method

officefileapi-devexpress-dot-xtrarichedit-dot-api-dot-native-dot-documentposition.md

latest7.9 KB
Original Source

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.v25.2.Core.dll

NuGet Package : DevExpress.RichEdit.Core

Declaration

csharp
public abstract SubDocument BeginUpdateDocument()
vb
Public MustOverride Function BeginUpdateDocument As SubDocument

Returns

TypeDescription
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.

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.

winforms-richedit-document-api/CS/RichEditAPISample/CodeExamples/FormFields.cs#L17

csharp
DocumentPosition currentPosition = document.CaretPosition;
SubDocument currentDocument = currentPosition.BeginUpdateDocument();
DevExpress.XtraRichEdit.API.Native.CheckBox checkBox = document.FormFields.InsertCheckBox(currentPosition);

wpf-richedit-document-api/CS/DXRichEditControlAPISample/CodeExamples/RangeActions.cs#L23

csharp
DocumentPosition pos = document.CaretPosition;
SubDocument doc = pos.BeginUpdateDocument();
doc.InsertText(pos, " INSERTED TEXT ");

winforms-richedit-layout-api-practical-usage/CS/WindowsFormsApplication1/DocumentLayoutHelper/RichEditDocumentLayoutAnalyzer.cs#L11

csharp
public static string GetInformationAboutRichEditDocumentLayout(Document currentDocument, DocumentLayout currentDocumentLayout) {
    SubDocument subDocument = currentDocument.CaretPosition.BeginUpdateDocument();
    DocumentPosition docPosition = subDocument.CreatePosition(currentDocument.CaretPosition.ToInt() == 0 ? 0 : currentDocument.CaretPosition.ToInt() - 1);

winforms-richedit-layout-api/CS/Form1.cs#L81

csharp
#region #GetPageForPosition
SubDocument subDoc = richEditControl1.Document.CaretPosition.BeginUpdateDocument();
DocumentPosition pos = subDoc.CreatePosition(richEditControl1.Document.CaretPosition.ToInt() == 0 ? 0 : richEditControl1.Document.CaretPosition.ToInt() - 1);

word-document-api-examples/CS/CodeExamples/RangeActions.cs#L92

csharp
// Append text to the end of the last paragraph.
SubDocument doc = pos.BeginUpdateDocument();
Paragraph par = doc.Paragraphs.Get(pos);

winforms-richedit-document-api/VB/RichEditAPISample/CodeExamples/FormFields.vb#L15

vb
Dim currentPosition As DevExpress.XtraRichEdit.API.Native.DocumentPosition = document.CaretPosition
Dim currentDocument As DevExpress.XtraRichEdit.API.Native.SubDocument = currentPosition.BeginUpdateDocument()
Dim checkBox As DevExpress.XtraRichEdit.API.Native.CheckBox = document.FormFields.InsertCheckBox(currentPosition)

wpf-richedit-document-api/VB/DXRichEditControlAPISample/CodeExamples/RangeActions.vb#L19

vb
Dim pos As DocumentPosition = document.CaretPosition
Dim doc As SubDocument = pos.BeginUpdateDocument()
doc.InsertText(pos, " INSERTED TEXT ")

winforms-richedit-layout-api-practical-usage/VB/WindowsFormsApplication1/DocumentLayoutHelper/RichEditDocumentLayoutAnalyzer.vb#L14

vb
Public Shared Function GetInformationAboutRichEditDocumentLayout(ByVal currentDocument As Document, ByVal currentDocumentLayout As DocumentLayout) As String
    Dim subDocument As SubDocument = currentDocument.CaretPosition.BeginUpdateDocument()
    Dim docPosition As DocumentPosition = subDocument.CreatePosition(If(currentDocument.CaretPosition.ToInt() = 0, 0, currentDocument.CaretPosition.ToInt() - 1))

winforms-richedit-layout-api/VB/Form1.vb#L68

vb
' #Region "#GetPageForPosition"
            Dim subDoc As SubDocument = richEditControl1.Document.CaretPosition.BeginUpdateDocument()
            Dim pos As DocumentPosition = subDoc.CreatePosition(If(richEditControl1.Document.CaretPosition.ToInt() = 0, 0, richEditControl1.Document.CaretPosition.ToInt() - 1))

word-document-api-examples/VB/CodeExamples/RangeActions.vb#L82

vb
' Append text to the end of the last paragraph.
Dim doc As DevExpress.XtraRichEdit.API.Native.SubDocument = pos.BeginUpdateDocument()
Dim par As DevExpress.XtraRichEdit.API.Native.Paragraph = doc.Paragraphs.[Get](pos)

See Also

CaretPosition

DocumentPosition Class

DocumentPosition Members

DevExpress.XtraRichEdit.API.Native Namespace