Using ComboBox with DataTable in C#

Define the ComboBox with DataTable

//define DataTable
DataTable dt = new DataTable("dataTable");
dt.Columns.Add("Id", typeof(int));
dt.Columns.Add("Name", typeof(string));
//add DataRow
DataRow row = dt.NewRow();
row["Id"] = 1;
row["Name"] = "One";
//assign to ComboBox
comboBox.DataSource = dt;
comboBox.DisplayMember = "Name";
comboBox.ValueMember = "Id";

Get Selected data from ComboBox

DataRow row = ((DataTable)comboBox.DataSource).Rows[comboBox.SelectedIndex];
int Id = (int)row["Id"];
string Name = (string)row["Name"];


  1. Is it possible to give more than one display member in cmbboBox.DisplayMember like:

    cmbStaff.DisplayMember = string.Format("{0} {1} {2}","FirstName","MiddleName","LastName");

  2. You must create an expression Column
    datatable.Columns.Add("FullName", typeof(string));
    datatable.Columns[12345].Expression = "FirstName + ' ' + MiddleName + ' ' + LastName";


Post a Comment

Popular posts from this blog

Parse XML to dynamic object in C#

C# Updating GUI from different thread