CalculateDocumentVariableEventArgs Class
Provides data for the CalculateDocumentVariable event.
Namespace: DevExpress.Blazor.RichEdit
Assembly: DevExpress.Blazor.RichEdit.v24.2.dll
NuGet Package: DevExpress.Blazor.RichEdit
Declaration
public class CalculateDocumentVariableEventArgs :
EventArgs
Remarks
Handle the CalculateDocumentVariable event to calculate a value of the DOCVARIABLE field. The VariableName event argument’s property identifies the processed field. Set the Value property to the field result value.
<DxRichEdit @bind-Selection="@selection" @ref="@richEdit"
CalculateDocumentVariable="@(async x => await OnCalculateDocumentVariable(x))" />
@code {
DxRichEdit richEdit { get; set; }
Selection selection { get; set; }
protected override Task OnAfterRenderAsync(bool firstRender) {
if (firstRender)
InitializeDocument();
return base.OnAfterRenderAsync(firstRender);
}
async void InitializeDocument() {
/* Surround the code that contains an asynchronous operation with a try-catch block to handle
the OperationCanceledException. This exception is thrown when an asynchronous operation is canceled. */
try {
await richEdit.DocumentAPI.Fields.CreateAsync(richEdit.Selection.CaretPosition, "DOCVARIABLE paragraphCount");
await richEdit.DocumentAPI.AddTextAsync("Number of paragraphs: ");
}
catch (OperationCanceledException e) {
Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {e.Message}");
}
}
async Task OnCalculateDocumentVariable(CalculateDocumentVariableEventArgs eventArgs) {
try {
switch (eventArgs.VariableName) {
case "paragraphCount":
var paragraphs = await richEdit.DocumentAPI.Paragraphs.GetAllAsync();
eventArgs.Value = paragraphs.Count.ToString();
break;
default:
break;
}
}
catch (OperationCanceledException e) {
Console.WriteLine($"{nameof(OperationCanceledException)} thrown with message: {e.Message}");
}
}
}
See Also