0

i have 100 objects of areas which have id and name i want to show name in combobox and their id's as index of combobox but this code is not working

private void Areadropdown()//show Areadropdown
    {
        List<Area> list = Area.Dropdown();


        foreach (Area a in list)
        {

          metroComboBox1.Items.Insert(a.Id,a.Areaname);
        }
    }

3 Answers3

0
 List<Area> list = new  List<Area>();

 metroComboBox1.DisplayMember = "PropertyName" //for you want to display in dropdown so give that class property name
 metroComboBox1.ValueMember = "ProprtyName" // use for take  value of those selection 

  metroComboBox1.DataSource = list; //your data list

this code help to solve your problem

FYI Please refereed below example

  districtComboBox.DisplayMember = "Name";
  districtComboBox.ValueMember = "Id";
  districtComboBox.DataSource = districts.Where(d => d.StateId == (int)stateComboBox.SelectedValue).ToList()
KARAN
  • 1,023
  • 1
  • 12
  • 24
0

try this

User the name of properties defined in class as display member and membervalue

districtComboBox.DisplayMember = "Areaname";
districtComboBox.ValueMember = "Id";
Meer
  • 2,765
  • 2
  • 19
  • 28
0

Try this (using BindingList) :

private void Areadropdown()
{
  List<Area> list = Area.Dropdown();
  BindingList<Area> areas = new BindingList<Area>(list); 
  metroComboBox1.ValueMember = "Id";
  metroComboBox1.DisplayMember = "Areaname";
  metroComboBox1.DataSource = areas ;
}
Abdullah Dibas
  • 1,499
  • 1
  • 9
  • 13