DxReportDesignerCallbacks.PreviewParametersInitialized Property
Specifies the JavaScript function that handles the PreviewParametersInitialized client-side event and allows you to get the client-side parameter values when they are initialized in the Designer Preview and modify them.
Namespace: DevExpress.Blazor.Reporting
Assembly: DevExpress.Blazor.Reporting.v25.1.JSBasedControls.Common.dll
NuGet Package: DevExpress.Blazor.Reporting.JSBasedControls.Common
Declaration
Property Value
Type | Description |
---|---|
String | The name of a JavaScript function or entire JavaScript function code that runs when the PreviewParametersInitialized event occurs. |
Remarks
The ParametersInitialized
event allows you to get client-side parameter values when they are initialized, subscribe to their changes, and fill parameter editors with custom parameter values.
The handler function receives two arguments - the first argument is the client-side DocumentViewer
object (Preview
if the ReportDesigner’s event is handled); the second argument is the object with the following properties and methods:
- ActualParametersInfo
An array of objects with information about parameters. Each object contains the following properties and methods:
parameterDescriptor
An object with the IParameterDescriptor interface. It contains a parameter description and indicates whether a parameter has lookup values.
lookupValues
Returns a
ko.ObservableArray<IDisplayedValue>
array of the parameter lookup values{value, displayValue}
.value
Returns the
ko.Observable | ko.Computed
parameter value. Subscribe to this value to handle user changes to the parameter value in the editor.
- Submit
- A method that initiates document generation.
- ShouldRequestParameters
- Returns
true
if the report’s RequestParameters property istrue
and the report has at least one visible parameter. Otherwise, the property returns `false.
Example: Initialize an Invisible Parameter
Use the ParametersInitialized
event to set values of report parameters that are not displayed in the Preview Parameters panel.
The following code snippet sets the parameter value after the Viewer loads the report, but before the Viewer creates and displays the document. This code calls the Submit
method to generate the document after the specified parameter value is applied to the report.
function onParametersInitialized(s, e) {
var p1 = e.ActualParametersInfo
.filter(x => x.parameterDescriptor.name == "parameter1")[0];
p1.value = 100;
p1 && e.Submit();
}
In Blazor Server applications, set DxDocumentViewer.AutoStartBuild to false
to disable automatic report generation and avoid generating a report twice.
Example: Cascading Parameters
The following code snippet filters lookup values of the Person2 parameter based on the value selected for the Person1 parameter:
function ParametersInitialized(sender, args) {
var parameter1 = args.ActualParametersInfo.filter(
x => x.parameterDescriptor.name == 'Person1')[0];
var parameter2 = args.ActualParametersInfo.filter(
x => x.parameterDescriptor.name == 'Person2')[0];
var preValue = null;
parameter1.events.on('propertyChanged', (args) => {
if(args.propertyName === 'value') {
const newVal = args.newValue;
var lookUps = parameter2.lookUpValues.filter(
x => x.value != newVal);
preValue && lookUps.push(preValue);
preValue = parameter2.lookUpValues.filter(
x => x.value == newVal)[0];
parameter2.lookUpValues = lookUps;
}
});
parameter1 && parameter2 && args.Submit();
}
In Blazor Server applications, set DxDocumentViewer.AutoStartBuild to false
to disable automatic report generation and avoid generating a report twice.