Skip to main content
All docs
V24.1

Specify Parameter Editing Settings in ASP.NET MVC Applications

  • 3 minutes to read

The Web Report Designer allows you to configure user interface elements related to parameter modification in the following ways:

Review the following parameter customization scenarios:

Restrict Parameter Creation and Removal

Use the following properties to hide UI elements that allow users to add new and delete existing parameters, groups, and separators:

AllowEditParameterCollection
Hides the UI elements that allow users to add and delete parameters.
AllowEditParameterGroups
Hides the UI elements that allow users to add and delete parameter groups.
AllowEditParameterSeparators
Hides the UI elements that allow users to add and delete parameter separators.

The following code snippet disables the aforementioned properties:

@Html.DevExpress().ReportDesigner(settings => {
    settings.Name = "ReportDesigner1";
    settings.SettingsParameterEditing.AllowEditParameterCollection = false;
    settings.SettingsParameterEditing.AllowEditParameterGroups = false;
    settings.SettingsParameterEditing.AllowEditParameterSeparators = false;
}).BindToUrl("TestReport").GetHtml()

All Add and Delete buttons for parameters, groups, and separators are hidden from the Parameter Editor, Field List, and Properties Panel. The image below shows the resulting Parameter Editor’s appearance:

Web Report Designer - Add/Delete Buttons Hidden from the Parameter Editor

To restrict deletion only for specific parameters or item types, use the CustomizeParameterProperties event.

The following code snippet hides the Delete button for parameter1 and parameter4, and all parameter groups:

<script type="text/javascript">
    function customizeParameterProperties(sender, args) {
        if (args.parameter) {
            const name = args.parameter.name;
            if (name === 'parameter1' || name === 'parameter4') {
                args.editOptions.allowDelete = false;
            }
        }
        if (args.parameterPanelLayoutItem.layoutItemType === 'Group') {
            args.editOptions.allowDelete = false;
        }
    }
</script>

@Html.DevExpress().ReportDesigner(settings => {
    settings.Name = "ReportDesigner1";
    settings.ClientSideEvents.CustomizeParameterProperties = "customizeParameterProperties";
}).BindToUrl("TestReport").GetHtml()

Restrict Parameter Property Modification

Use the AllowEditProperties property to disable all property editors for parameters and parameter groups.

If you want to disable or hide specific property editors for all or some parameters or groups, use the client-side CustomizeParameterProperties event.

The code snippet below does the following:

  • Hides the Allow null value checkbox for all parameters.
  • Disables the Description editor for parameter3.
  • Disables the Title editor for all parameter groups.
<script type="text/javascript">
    function customizeParameterProperties(sender, args) {
        if (args.parameter) {
            const allowNullInfo = args.getEditor('allowNull');
            if (allowNullInfo) {
                // Hide the Allow null value checkbox.
                allowNullInfo.visible = false;
            }
            const name = args.parameter.name;
            if (name === 'parameter3') {
                const descriptionEditor = args.getEditor('description');
                if (descriptionEditor) {
                    // Disable the Description editor.
                    descriptionEditor.disabled = true;
                }
            }
        }
        if (args.parameterPanelLayoutItem.layoutItemType === 'Group') {
            const titleEditor = args.getEditor('title')
            // Disable the Title editor.
            titleEditor.disabled = true;
        }    
    }
</script>

@Html.DevExpress().ReportDesigner(settings => {
    settings.Name = "ReportDesigner1";
    settings.ClientSideEvents.CustomizeParameterProperties = "customizeParameterProperties";
}).BindToUrl("TestReport").GetHtml()

The property editors for parameter3 look as follows (the Allow Null Value checkbox is hidden and the Description editor is disabled):

Parameter Panel
Parameter Editor - Hidden and Disabled Property Editors
Properties Panel
Properties Panel - Hidden and Disabled Property Editors

The following snippet hides all property editors for the parameter1 parameter:

<script type="text/javascript">
    function customizeParameterProperties(sender, args) {
        if (args.parameter) {
        const name = args.parameter.name;
            if (name === 'parameter1'){
            args.editors.forEach(i => {
                // Hide editors.
                i.visible = false;
                // Disable editors.
                //i.disabled = true;
                });
            }    
        }
    }
</script>

@Html.DevExpress().ReportDesigner(settings => {
    settings.Name = "ReportDesigner1";
    settings.ClientSideEvents.CustomizeParameterProperties = "customizeParameterProperties";
}).BindToUrl("TestReport").GetHtml()

The parameter1 parameter has no visible property editors:

Parameter Editor:
Parameter Editor - Hidden Property Editors
Properties Panel
Properties Panel - Hidden Property Editors

Restrict Parameter Reordering

Set the AllowReorderParameters property to false to disable reorder actions in the Properties Panel and Parameter Editor:

@Html.DevExpress().ReportDesigner(settings => {
    settings.Name = "ReportDesigner1";
    settings.SettingsParameterEditing.AllowReorderParameters = false;
}).BindToUrl("TestReport").GetHtml()