New to Telerik UI for WinForms? Download free 30-day trial

Data binding

Data binding is a mechanism for automatic population of the RadDropDownList with items, based on the provided data structure. Three properties control the data binding:

  • DataSource - specifies the data structure to be bound.

  • DisplayMember - specifies the particular field in the data source which will be used from the items in RadDropDownList for their Text.

  • ValueMember - specifies the particular field in the data source which will be stored in the items Value property.

RadDropDownList supports data binding either at design time or at run time:

Data binding at design time

You can set the DataSource property at design time in the Properties window of Visual Studio.

  1. Select the DataSource property and click the drop-down arrow to display all existing data sources on the form.

  2. Click the Add Project Data Source… link and follow the instructions in the Data Source Configuration Wizard to add a data source to your project. You can use a single database table.

    Figure: 1 Setting the DataSource at Design time

    WinForms RadDropDownList Setting the DataSource at Design time

  3. Afterwards, you need to specify the DisplayMember and ValueMember properties.

    Figure: 2 Setting the DisplayMember and ValueMember properties at Design time

    WinForms RadDropDownList Setting the DisplayMember and ValueMember Properties at Design Time

    Figure: 3 RadDropDownList bound at Design time

    WinForms RadDropDownList RadDropDownList Bound at Design Time

Data binding at run time

You can bind RadDropDownList programmatically as well. The following code snippet demonstrates how to bind it to a collection of custom objects:

Data binding at run time


public class Item
{
    public int Id { get; set; }

    public string Description { get; set; }

    public Item(int id, string description)
    {
        this.Id = id;
        this.Description = description;
    }
}

public void Bind()
{
    List<Item> items = new List<Item>();
    for (int i = 0; i < 10; i++)
    {
        items.Add(new Item(i,"Data" + i));
    }
    this.radDropDownList1.DataSource = items;
    this.radDropDownList1.DisplayMember = "Description";
    this.radDropDownList1.ValueMember = "Id";
}

Public Class Item
    Public Property Id() As Integer
        Get
            Return m_Id
        End Get
        Set(value As Integer)
            m_Id = value
        End Set
    End Property
    Private m_Id As Integer
    Public Property Description() As String
        Get
            Return m_Description
        End Get
        Set(value As String)
            m_Description = value
        End Set
    End Property
    Private m_Description As String
    Public Sub New(id As Integer, description As String)
        Me.Id = id
        Me.Description = description
    End Sub
End Class
Public Sub Bind()
    Dim items As New List(Of Item)()
    For i As Integer = 0 To 9
        items.Add(New Item(i, "Data" + i))
    Next
    Me.radDropDownList1.DataSource = items
    Me.radDropDownList1.DisplayMember = "Description"
    Me.radDropDownList1.ValueMember = "Id"
End Sub

Figure: 4 RadDropDownList bound at Run time

WinForms RadDropDownList 4 RadDropDownList Bound at Run Time

See Also

In this article