Net-informations.com
SiteMap  | About    

Bind a dataset to a combo box in C#

dataset-combobox.jpg

The DataSet is a memory-resident representation of data that provides a consistent relational programming model regardless of the data source. The C# SqlDataAdapter object allows us to populate Data Tables in a DataSet. Also we can populate a combo box from a dataset values.

Bind data source to ComboBox

comboBox1.DataSource = ds.Tables[0]; comboBox1.ValueMember = "au_id"; comboBox1.DisplayMember = "au_lname";

Select Item from ComboBox

comboBox1.SelectedValue

The following C# program retrieve the values from database and store it in a dataset and later bind to a combobox.

using System; using System.Data; using System.Data.SqlClient; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender, EventArgs e) { string connetionString = null; SqlConnection connection; SqlCommand command; SqlDataAdapter adapter = new SqlDataAdapter(); DataSet ds = new DataSet(); int i = 0; string sql = null; connetionString = "Data Source=.;Initial Catalog=DatabaseName;User ID=UserName;Password=Password"; sql = "select au_id,au_lname from authors"; connection = new SqlConnection(connetionString); try { connection.Open(); command = new SqlCommand(sql, connection); adapter.SelectCommand = command; adapter.Fill(ds); adapter.Dispose(); command.Dispose(); connection.Close(); comboBox1.DataSource = ds.Tables[0]; comboBox1.ValueMember = "au_id"; comboBox1.DisplayMember = "au_lname"; } catch (Exception ex) { MessageBox.Show("Can not open connection ! "); } } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(comboBox1.Text + " " + comboBox1.SelectedValue); } } }

Binding a ComboBox to an Enum values

C# how to bind combobox with Enum

Enum provide a convenient way in which to create a group of related constants that can be viewed as strings or integer values. When these values are bind to a ComboBox, the end user can select an option directly from a list of the Enum strings.

Data Binding an Enum with Descriptions

comboBox1.DataSource = Enum.GetValues(typeof(Colors)); comboBox1.SelectedItem = Colors.Green;

The follwoing C# program bind a combobox with Enum values.

using System; using System.Windows.Forms; using System.Collections.Generic; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } public enum Colors { Red = 10, Blue = 20, Green = 30, Yellow = 40, } private void button1_Click(object sender, EventArgs e) { MessageBox.Show(comboBox1.Text + " " + Convert.ToString((int)comboBox1.SelectedValue)); } private void Form1_Load(object sender, EventArgs e) { comboBox1.DataSource = Enum.GetValues(typeof(Colors)); comboBox1.SelectedItem = Colors.Green; } } }

Bind a ComboBox to a generic Dictionary

C# how to bind combobox with Dictionary

A Dictionary class is a data structure that represents a collection of keys and values pair of data. The key is identical in a key-value pair and it can have at most one value in the dictionary, but a value can be associated with many different keys.

Dictionary as a Combobox Datasource

comboBox1.DataSource = new BindingSource(colors, null); comboBox1.DisplayMember = "Value"; comboBox1.ValueMember = "Key";

The following C# program populating a Combobox from a Dictionary .




using System;
using System.Windows.Forms;
using System.Collections.Generic;


namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MessageBox.Show(Convert.ToString(comboBox1.Text + " " +  comboBox1.SelectedValue));
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            var colors = new Dictionary < string, string > ();
            colors["10"] = "Red";
            colors["20"] = "Blue";
            colors["30"] = "Green";
            colors["40"] = "Yellow";
            comboBox1.DataSource = new BindingSource(colors, null);
            comboBox1.DisplayMember = "Value";
            comboBox1.ValueMember = "Key"; 

        }
    }
}




net-informations.com (C) 2016    Founded by raps mk
All Rights Reserved. All other trademarks are property of their respective owners.