Skip to main content

DxComboBox<TData, TValue>.ValueExpression Property

Specifies a lambda expression that identifies the Value property’s bound value when the ComboBox is placed in the EditForm.

Namespace: DevExpress.Blazor

Assembly: DevExpress.Blazor.v24.1.dll

NuGet Package: DevExpress.Blazor

Declaration

[Parameter]
public Expression<Func<TValue>> ValueExpression { get; set; }

Property Value

Type Description
Expression<Func<TValue>>

A lambda expression that identifies the bound value.

Remarks

The ValueExpression property obtains metadata about the value bound to the Value property. It is used when you add the ComboBox editor to Blazor’s standard EditForm component to validate the Value property value.

You can use one of the following ways to set up this property:

  • Specify Value and ValueExpression properties and handle the ValueChanged event.

    <EditForm>
        <DxComboBox Data="@Strings" ...
                    Value="@value"
                    ValueExpression="@(() => value )"
                    ValueChanged="@ValueChanged">
        </DxComboBox>
    </EditForm>
    
    @code {
        string value = null;
        // ...
        void ValueChanged(string MyString) {
            // ...
        }
    }
    
  • Use the @bind attribute for the Value property to implement two-way binding. In this case, the ValueExpression property is set internally.

    <EditForm>
        <DxComboBox Data="@Strings" ...
                    @bind-Value="@Value">
        </DxComboBox>
    </EditForm> 
    
    @code {
        string newValue = null;
        string Value { get => newValue; set { newValue = value; InvokeAsync(StateHasChanged); } }
        // ...
    }
    

The following exception occurs if you do not use two-way binding or the ValueExpression property:

DevExpress.Blazor.DxComboBox requires a value for the ‘ValueExpression’ property. It is specified automatically when you use two-way binding (‘bind-Value’).

See Also