带有连接的DataGridViewTextBoxColumn

时间:2016-09-29 15:54:36

标签: c# datagridview datagridcomboboxcolumn

我正在尝试使用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();

数据显示正确。但是组合框不会产生下拉效果。所以我无法改变它,我得到了这个错误。

DataViewGrid

我发现数据可能会触发此错误,因此我检查数据库并且我没有错过任何组。数据完美匹配。有关如何解决此错误的任何想法?感谢。

0 个答案:

没有答案