我是C#的初学者。我有一个窗体,在CellDoubleClickEvent中,它填充其相应列的文本框,反之亦然。类似这样的东西:-
{
DataGridViewRow row = dataGridViewRoles.Rows[e.RowIndex];
//ID, row.Cell[0] is where IDs are stored
txtRolesUID.Text = row.Cells[0].Value.ToString();
//Rolename row.Cell[1] is for Rolenames, etc
txtRolesRoleName.Text = row.Cells[1].Value.ToString();
//Description
txtRolesRoleDescription.Text = row.Cells[2].Value.ToString();
}
字符串
问题是我不知道如何为复选框或项目列表(如组合框或下拉框)执行此操作。
我试着用这个,但因为我不知道它的语法或逻辑,它失败了
//Rights
chklbRolesRoleRights.Items.Add(row.Cells[3]);
型
1条答案
按热度按时间ru9i0ody1#
当您尝试在代码中使用
.Add(row.Cells[3])
将值添加到组合框中时,实际上只是将cell对象添加到items列表中,这是无效的。你要做的是添加
row.Cells[3]
的值,这是通过使用cell对象的Value
属性来完成的。像这样:字符串
就像你在问题中包含的第一个代码片段中所做的那样。
如果你想防止其他复杂的情况发生,你也可以添加
.ToString()
,这会强制它向combobox/items列表添加一个字符串值:.Add(row.Cells[3].Value.ToString())
的值。编辑:注意到@Ralf也在评论中指出了这一点