A newer version of this page is available. Switch to the current version.


  • 3 minutes to read


The document's entire content is divided into individual parts - sub-documents. A list of all sub-documents is stored within the Document Model. A sub-document to which the cursor position (or intervals of the current selection) belongs is the active sub-document. The available client-side API commands work with the active sub-document.

Sub-Document Types

The following sub-document types are available.

  • Main Sub-Document

    In a document, at least one sub-document always exists, it is the main sub-document. There is always a single instance of the main sub-document, and it is active by default. The main sub-document delivers the basic document functionality that is common for the header, footer and the main document body. The length of the main sub-document's text buffer affects the number of pages (Page layout elements) in the RichEdit Document Layout.

  • Header or Footer

    A header or footer is represented by an individual sub-document. The header (or footer) can be different for odd pages, even pages or the first page. So, there usually are several sub-document instances of the header (or footer) type: one sub-document for each header (or footer) with unique settings. As a rule, one sub-document of the header (or footer) type is bound to several Page Area layout elements on several Pages. (See the Sections topic for more details.)

  • Text box

    Each text box is represented by an individual sub-document. (See the Floating Objects topic for more details.)

Structural Elements

A sub-document provides access to the current customization information of its main structural elements listed below. These elements are parts of the sub-document's Text Buffer.

Client API

To access sub-documents on the client, use the following properties in the notation described below:


Member Name Link Description
subDocuments RichEditDocument.subDocuments Provides access to the document's sub-documents.
mainSubDocument RichEditDocument.mainSubDocument Provides access to the document's main sub-document.
activeSubDocument RichEditDocument.activeSubDocument Provides the information about the active sub-document.
getSubDocumentById(sub-document_id) RichEditDocument.getSubDocumentById Returns the sub-document with the specified identifier.

Sub-documents are implemented as SubDocument objects. They expose the following API resources, which can be used in the notation given below:


Member Name Link Description
type SubDocument.type Gets a value specifying the sub-document type.
id SubDocument.id Gets the sub-document identifier.
text SubDocument.text Gets the document's textual representation.
length SubDocument.length Gets the character length of the document.
paragraphsInfo SubDocument.paragraphsInfo Provides information about paragraphs contained in the document.
tablesInfo SubDocument.tablesInfo Provides information about tables contained in the document.
bookmarksInfo SubDocument.bookmarksInfo Provides information about document bookmarks.
inlinePicturesInfo SubDocument.inlinePicturesInfo Provides access to an array of objects containing in-line picture settings.
fieldsInfo SubDocument.fieldsInfo Provides information about fields in the current document.
floatingPicturesInfo SubDocument.floatingPicturesInfo Provides information about floating pictures in the sub-document.
floatingTextBoxesInfo SubDocument.floatingTextBoxesInfo Provides information about floating text boxes contained within the sub-document if it is the main sub-document or header/footer.
findFields SubDocument.findFields Returns an array of fields that match the search conditions.
findTables SubDocument.findTables Returns an array of tables that match the search conditions.

You also can use the ASPxClientRichEdit.ActiveSubDocumentChanged method that fires when an active sub-document is substituted with another one.