Skip to main content
All docs
V25.1
  • Field

    • 2 minutes to read

    Get all fields in the main sub-document

    var mainSubDocumentFields = richEdit.document.fields;
    

    Create a field at the cursor position

    var subDocument = richEdit.selection.activeSubDocument;
    var field = subDocument.fields.create(richEdit.selection.active, 'time');
    field.update(function(self) {
        console.log('Result: ' + subDocument.getText(self.resultInterval));
    });
    

    Delete a field but keep the field result

    var subDocument = richEdit.selection.activeSubDocument;
    richEdit.beginUpdate();
    richEdit.history.beginTransaction();
    // creates and updates the 'time' field, and then calls the callback function
    subDocument.fields.create(richEdit.selection.active, 'time').update(function(field) {
        var pos = field.interval.start;
        // gets the field result value
        var text = subDocument.getText(field.resultInterval);
        // deletes the field
        subDocument.deleteText(field.interval);
        // inserts the field result value
        subDocument.insertText(pos, text);
        richEdit.history.endTransaction();
        richEdit.endUpdate();
    });
    

    Remove a field

    richEdit.document.fields.getByIndex(0).delete();
    

    Update all fields

    var doInAllSubDocuments = true;
    var updateTocFields = true;
    var options = new DevExpress.RichEdit.UpdateFieldsOptions(doInAllSubDocuments, updateTocFields);
    richEdit.document.fields.updateAllFields(function() {
        console.log('Updated');
    }, options);
    

    Update all fields once the editor is shown

    @(Html.DevExpress().RichEdit("richEdit")
        .OnDocumentLoaded("function(s, e) { s.document.fields.updateAllFields(); }")
        // ...
    

    Update fields by name

    rich.beginUpdate();
    rich.history.beginTransaction();
    for(var i = 0, field; field = rich.document.fields.getByIndex(i); i++)
        if (field.name == DevExpress.RichEdit.FieldName.FillIn)
            field.update();
    rich.history.endTransaction();
    rich.endUpdate();
    

    Update all fields and highlight the result

    richEdit.history.beginTransaction();
    richEdit.beginUpdate();
    richEdit.document.fields.updateAllFields(function () {  
        richEdit.document.subDocuments.forEach(function (subDocument) {
            for (var i = 0, field; field = subDocument.fields.getByIndex(i); i++)
                richEdit.document.setCharacterProperties(field.resultInterval, { bold: true });
        });
        richEdit.endUpdate();
        richEdit.history.endTransaction();  
    }, new DevExpress.RichEdit.UpdateFieldsOptions(true, false));