Back to Devexpress

PickerColumn.ItemsSource Property

maui-devexpress-dot-maui-dot-datagrid-dot-pickercolumn.md

latest5.9 KB
Original Source

PickerColumn.ItemsSource Property

Gets or sets the collection of values displayed in the drop-down list. This is a bindable property.

Namespace : DevExpress.Maui.DataGrid

Assembly : DevExpress.Maui.DataGrid.dll

NuGet Package : DevExpress.Maui.DataGrid

Declaration

csharp
public object ItemsSource { get; set; }

Property Value

TypeDescription
System.Object

The collection of values displayed in the drop-down list.

|

Remarks

The ItemsSource collection contains values that users can select in the drop-down list. If this collection contains business objects, use the following properties to describe the business object’s data fields:

  • DisplayMember — specifies the data field that contains values that are displayed in the drop-down list.
  • ValueMember — specifies the data field that contains values that are actually assigned to cells.

Examples

The example below uses the ComboBoxColumn to display available values in the drop-down list when a user types in a cell.

xml
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:dxg="clr-namespace:DevExpress.Maui.DataGrid;assembly=DevExpress.Maui.DataGrid"
             xmlns:scg="clr-namespace:System.Collections.Generic;assembly=netstandard">
    <dxg:DataGridView ItemsSource="{Binding Path=Employees}"
                      EditorShowMode="Tap">
        <dxg:DataGridView.Columns>
            <!-- Other columns here. -->
            <dxg:ComboBoxColumn FieldName="JobTitle" 
                                EditorFilterComparisonType="CurrentCultureIgnoreCase"
                                EditorFilterCondition="StartsWith"
                                IsEditorFilterEnabled="True">
                <dxg:ComboBoxColumn.ItemsSource>
                    <scg:List x:TypeArguments="x:String">
                        <x:String>Chief Executive Officer</x:String>
                        <x:String>Chief Technology Officer</x:String>
                        <x:String>Network Administrator</x:String>
                    </scg:List>
                </dxg:ComboBoxColumn.ItemsSource>
            </dxg:ComboBoxColumn>
            <!-- Other columns here. -->
        </dxg:DataGridView.Columns>
    </dxg:DataGridView>
</ContentPage>
cs
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.Maui.Controls;

public partial class EditingView : ContentPage {
    public EditingView() {
        InitializeComponent();
        BindingContext = new Repository(300);
    }
}

public class Repository {
    public ObservableCollection<Employee> Employees { get; private set; }

    public Repository(int rowsCount) {
        Employees = new ObservableCollection<Employees>();
        for (int i = 0; i < rowsCount; i++) {
            Employees.Add(new Employee());
        }
    }
}

public class Employee {
    public string FullName { get; set; }
    public string JobTitle { get; set; }
}

In the example below, the ComboBoxColumn is bound to a data field that contains integer values. To display strings instead of integers in the drop-down list, the example uses a business object that combines strings with integers. The DisplayMember and ValueMember properties specify data fields that contain displayed strings and actual integer values.

xml
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
             xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
             xmlns:dxg="clr-namespace:DevExpress.Maui.DataGrid;assembly=DevExpress.Maui.DataGrid">
    <dxg:DataGridView x:Name="dataGridView"
                    ItemsSource="{Binding Path=Employees}"
                    EditorShowMode="Tap">
        <dxg:DataGridView.Columns>
            <!-- Other columns here. -->
            <dxg:ComboBoxColumn FieldName="Job" 
                                ItemsSource="{Binding Jobs}"
                                DisplayMember="Title"
                                ValueMember="Id"
                                IsEditorFilterEnabled="True">
            </dxg:ComboBoxColumn>
            <!-- Other columns here. -->
        </dxg:DataGridView.Columns>
    </dxg:DataGridView>
</ContentPage>
cs
using System.Collections.Generic;
using System.ComponentModel;
using Microsoft.Maui.Controls;

public partial class EditingView : ContentPage {
    public EditingView() {
        InitializeComponent();
        BindingContext = new Repository(300);
    }
}

public class Repository {
    public ObservableCollection<Employee> Employees { get; private set; }
    public ObservableCollection<Job> Jobs { get; private set; }

    public Repository(int rowsCount) {
        Employees = new ObservableCollection<Employees>();
        Jobs = new ObservableCollection<Job>();
        for (int i = 0; i < rowsCount; i++) {
            Employees.Add(new Employee());
            Jobs.Add(new Job());
        }
    }
}

public class Employee {
    public string FullName { get; set; }
    public int Job { get; set; }
}

public class Job {
    public int Id { get; set; }
    public string Title { get; set; }
}

See Also

PickerColumn Class

PickerColumn Members

DevExpress.Maui.DataGrid Namespace