I have a ComboBox named cmbWeekDays, a WeekDay class:
public class WeekDay
{
public int Index;
public string DayName;
}
and this FormLoad event:
List<WeekDay> days = new List<WeekDay>();
days.Add(new WeekDay { DayName = "Sat", Index = 1 });
days.Add(new WeekDay { DayName = "Sun", Index = 2 });
days.Add(new WeekDay { DayName = "Mon", Index = 3 });
days.Add(new WeekDay { DayName = "Tue", Index = 4 });
days.Add(new WeekDay { DayName = "Wed", Index = 5 });
days.Add(new WeekDay { DayName = "Thu", Index = 6 });
days.Add(new WeekDay { DayName = "Fri", Index = 7 });
cmbxWeekDays.DataSource = days;
cmbxWeekDays.DisplayMember = "DayName";
cmbxWeekDays.ValueMember = "Index";
cmbxWeekDays.Refresh();
I don't know why I get this weird result:

Can any one explain me what's happening? and also how to overcome this issue?
Data binding works with properties only. So, you have to declare properties in your data source class instead of fields:
public class WeekDay
{
public int Index { get; set; }
public string DayName { get; set; }
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With