我正在尝试使用DataGridView
制作可更新的DataGridViewTextBoxColumn
。
这是我的代码:
var query = from u in context.User
join ur in context.UserRole on u.ID equals r.UserID
join r in context.Role on ur.RoleID.ToString() equals r.ID.ToString()
select new
{u.ID,
u.Nick,
u.LastLogin,
Role = ur == null ? String.Empty : r.Name
};
DataGridViewTextBoxColumn ColID = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn ColNick = new DataGridViewTextBoxColumn();
DataGridViewTextBoxColumn ColLast = new DataGridViewTextBoxColumn();
DataGridViewComboBoxColumn ColRole = new DataGridViewComboBoxColumn();
ColID.DataPropertyName = "ID";
ColNick.DataPropertyName = "Nick";
ColLast.DataPropertyName = "LastLogin";
ColRole.DataPropertyName = "Role";
ColRole.DataSource = context.Role.ToList();
ColRole.ValueMember = "ID";
userDataGridView.Columns.Add(ColID);
userDataGridView.Columns.Add(ColNick);
userDataGridView.Columns.Add(ColLast);
userDataGridView.Columns.Add(ColRole);
userDataGridView.DataSource = query.ToList();
数据显示正确。但是组合框不会产生下拉效果。所以我无法改变它,我得到了这个错误。
我发现数据可能会触发此错误,因此我检查数据库并且我没有错过任何组。数据完美匹配。有关如何解决此错误的任何想法?感谢。