In our previous post we have learnt perform binding Combo Box and Listbox, now it’s time to get access their values and use them to bind
another controls in winforms. I am binding a combo box with an employee list and them access data in textbox in c# programming.
For example we have a c# class Employee having
following properties:
public class Employee
{
public int No { get; set; }
public string Name { get; set; }
}
public class Employee
{
public int No { get; set; }
public string Name { get; set; }
}
Create an object of type List of employee (in
our Form1.cs file) that will be used to in binding of combo Box
List<Employee> empList = new List<Employee>();
To bind with combo Box this list should have
some set of items, so we will add some employees with use of following code in
our Form1's constructor:
empList.Add(new Employee() { No = 111, Name = "Venkatesh" });
empList.Add(new Employee() { No = 222, Name = "Muthu Kumaran" });
empList.Add(new Employee() { No = 333, Name = "Murli Prasad" });
empList.Add(new Employee() { No = 444, Name = "Ghosh Babu" });
empList.Add(new Employee() { No = 555, Name = "Jacob Martin" });
Now using following two lines of code we will bind our comboBox with this above list of item
comboBox1.DataSource = empList;
empList.Add(new Employee() { No = 111, Name = "Venkatesh" });
empList.Add(new Employee() { No = 222, Name = "Muthu Kumaran" });
empList.Add(new Employee() { No = 333, Name = "Murli Prasad" });
empList.Add(new Employee() { No = 444, Name = "Ghosh Babu" });
empList.Add(new Employee() { No = 555, Name = "Jacob Martin" });
Now using following two lines of code we will bind our comboBox with this above list of item
comboBox1.DataSource = empList;
comboBox1.DisplayMember = "No";
When Form1 will run, combo Box will have above
list of items and textbox will be empty. To display related value of employee
name we have to write these two lines of code with combo Box binding:
Employee selectedEmployee =
comboBox1.SelectedItem as Employee;
textBox1.Text = selectedEmployee.Name;
Now
our article’s main aim is to binding a textbox with combo Box selected value, so
there is an Event of combo Box i.e. comboBox_SelectionChanged event. So I will
repeat the most recent two lines of code in this event as written below:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
Employee selectedEmployee = comboBox1.SelectedItem as Employee;
textBox1.Text =
selectedEmployee.Name;
}
Check your windows form application, when you
change the selected item of combo Box it will also change the related name of
Employee in textbox’s text property.
Download Example