我遇到了一个问题,在基于数据表值的DataGridView(DGV)中以编程方式进行多选择。我有一个带有“ID”列的表格,我需要将这些值传递给另一个带DGV的表单进行编辑,ID也是第一个DGV列,即对于表格中的每个ID,都应该选择适当的DGV行。 我可以遍历表格和DGV,但只有最后一个值被选中,即使DGV属性MultiSelect = true ...当我手动使用表格时,多个选择都可以正常工作。C#DataGridView多选择被覆盖
foreach(DataRow dtrow in dt.Rows)
{
string Selection = dtrow["ID"].ToString();
foreach(DataGridViewRow DGVrow in dgview.Rows)
{
if (DGVrow.Cells[0].Value.ToString().Equals(Selection))
{
dgview.CurrentCell = DGVrow.Cells[0];
int cellInx = dgview.CurrentCell.RowIndex;
dgview.Rows[cellInx].Selected = true;
break;
}
}
}
不应该你的选择变量使用dtRow变量?你没有在循环中的任何地方使用dtRow变量。 – LarsTech
对不起,这是一个错字...我更新了代码。 – ArtR45