用户在DataGridView中选择另一行后维护行选择

时间:2014-01-06 12:17:05

标签: c# .net visual-studio datagridview

我在基于表单的应用程序中创建了一个DataGridView。 我使用以下代码基于某些条件预选了一些行:      DataGridView1.Rows[i].Selected = true;

现在我有一个按钮,允许用户将焦点(记录指针)移动到下一个选定的行。

当用户点击按钮时,我会执行以下操作      DataGridView1.CurrentCell = DataGridView1[0,row_number];

但是当发生这种情况时,之前选择的行会丢失突出显示。

我想保持前一行的高亮(选择),但是记录指针应该移动到下一个选定的行。 我怎样才能实现这个目标。

1 个答案:

答案 0 :(得分:1)

DataGridView1.CurrentCell等于单个单元格(行)时,多选将转换为单选,因此取消选择所有其他行(Selected属性设置为False

有各种方法可以避免这种情况:

  • 最合乎逻辑的选择是不依赖于DataGridView1.CurrentCell 一点都不您可以创建自己的变量来存储当前单元格 正在编辑(您甚至可以将其存储在DataGridView本身中 它的Tag属性。
  • 另一种选择是影响所选行的样式(背景颜色),以便向用户传达它们的印象 仍然选择。虽然第二种选择不太值得推荐, 至于所有“相关特征”(例如,Selected属性) 将继续表现为好像不会选择这些行。