DxListBox<TData, TValue>.Values Property
Provides access to the List Box’s selected value/item collection.
Namespace: DevExpress.Blazor
Assembly: DevExpress.Blazor.v24.2.dll
NuGet Package: DevExpress.Blazor
Declaration
[Parameter]
public IEnumerable<TValue> Values { get; set; }
Property Value
Type | Description |
---|---|
IEnumerable<TValue> | The List Box’s values/items. |
Remarks
Use the Values
property to access to the List Box’s list of item values/items from a bound data source. To respond to selection changes, handle the ValuesChanged event.
The Values property can return the following objects:
- The selected item values if the ValueFieldName is specified.
- The selected items if the ValueFieldName property is unspecified. Note that in this case, the List Box searches for a field named
Value
in the data source. An exception occurs in the following situations:- If the found
Value
data type differs from the bound Values type. - If the data source does not contain a field named
Value
.
- If the found
<DxListBox Data="@Staff.DataSource"
TextFieldName="@nameof(Person.Text)"
@bind-Values="@SelectedStaff">
</DxListBox>
@code {
IEnumerable<Person> SelectedStaff { get; set; } = new List<Person>() { Staff.DataSource[0] };
}
The following code snippet demonstrates a sample implementation of the Person
class.
public class Person {
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public Department Department { get; set; }
public string Text => $"{FirstName} {LastName} ({Department} Dept.)";
}
The ListBox Values
property is strongly typed. You can use two-way binding only with IEnumerable collections. If you want to store data in other collections, for example, IList, use one-way binding:
<DxListBox Data="@Cities" Values="@Values" />
@code {
IList<string> Cities = new List<string>() {
"London",
"Berlin",
"Paris",
};
IList<string> Values { get; set; } = new List<string>() {
"Paris",
};
}