Sub-Document
- 3 minutes to read
Overview
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:
clientRichEditName.document.member_name
Member Name | Link | Description |
---|---|---|
subDocuments | RichEditDocument.subDocuments | Returns the document’s sub-documents. |
mainSubDocument | RichEditDocument.mainSubDocument | Returns the main sub-document. |
activeSubDocument | RichEditDocument.activeSubDocument | Returns 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:
clientRichEditName.document.activeSubDocument.propertyName
Member Name | Link | Description |
---|---|---|
type | SubDocument.type | Gets the sub-document type. |
id | SubDocument.id | Gets the sub-document identifier. |
text | SubDocument.text | Gets the document’s text. |
length | SubDocument.length | Gets the length of the sub-document. |
paragraphsInfo | SubDocument.paragraphsInfo | Returns information about paragraphs in the sub-document. |
tablesInfo | SubDocument.tablesInfo | Returns information about tables in the sub-document. |
bookmarksInfo | SubDocument.bookmarksInfo | Returns information about bookmarks in the sub-document. |
inlinePicturesInfo | SubDocument.inlinePicturesInfo | Returns information about in-line pictures in the sub-document. |
fieldsInfo | SubDocument.fieldsInfo | Returns information about fields in the sub-document. |
floatingPicturesInfo | SubDocument.floatingPicturesInfo | Returns information about floating pictures in the sub-document. |
floatingTextBoxesInfo | SubDocument.floatingTextBoxesInfo | Returns information about floating text boxes in the sub-document. |
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.