使用枚举绑定组合框selectedvalue
我未能绑定组合框selectedvalue。使用枚举绑定组合框selectedvalue
public void InitializePage()
{
cbStatus.DataSource = Enum.GetValues(typeof(CourseStudentStatus));
}
在我的构造
public EditCourseForm(int status)
{
InitializePage();
cbStatus.SelectedText = Enum.GetName(
typeof(CourseStudentStatus), status).ToString();
}
我已经试过这一点。 cbStatus.SelectedValue = Status
但我无法在ComboBox上设置SelectedValue。
更新 我枚举
public enum CourseStudentStatus
{
Active = 1,
Completed = 2,
TempStopped = 3,
Stopped = 4,
}
问题的解决。 cbStatus.SelectedItem = (CourseStudentStatus)status;
希望它有帮助。
你试过
public EditCourseForm(CourseStudentStatus status)
{
InitializePage();
cbStatus.SelectedItem= status;
}
nope,这没有绑定或者 – VeecoTech 2011-03-22 05:27:52
您InitializePage()函数的代码更改为这个
公共无效InitializePage() {
cbStatus.DataTextField = Enum.GetName(typeof(CourseStudentStatus));
cbStatus.DataValueField = Enum.GetValues(typeof(CourseStudentStatus));
}
更新 试试这个。
var itemValues = Enum.GetValues(typeof(CourseStudentStatus)).Cast<CourseStudentStatus>().ToDictionary(obj => obj.ToString(), obj => obj.GetHashCode()).ToList();
comboBox1.DisplayMember = "Key";
comboBox1.ValueMember = "Value";
comboBox1.DataSource = itemValues;
这里itemValues是一种List<KeyValuePair<string, int>>
没有DataTextField或DataValueField组合框。 – VeecoTech 2011-03-22 05:29:03
你面对的错误或问题是什么? – gideon 2011-03-22 03:47:14
如果我传入的状态是3,我希望cbStatus选择id = 3,但是,它会一直选择第一项。 – VeecoTech 2011-03-22 03:49:55
它应该可以做这样的事情。'cbStatus.SelectedValue = Status'。但为什么它没有..它显示错误“无法设置一个ListControl的SelectedValue与一个空的ValueMember。” – VeecoTech 2011-03-22 03:51:49