【发布时间】:2012-11-13 21:39:39
【问题描述】:
我有一个 dataGridView,我用文件列表填充。我希望能够通过选择条目(通过单击它)然后按删除键来删除其中一些条目。这是我到目前为止的代码:
private void DataGrid_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Delete)
{
foreach (DataGridViewRow r in DataGrid.SelectedRows)
{
if (!r.IsNewRow)
{
DataGrid.Rows.RemoveAt(r.Index);
}
}
}
}
问题在于它将选定的行定义为一次单击的所有行。我想删除所有突出显示的行。换句话说,如果一行没有突出显示,它就不会被选中。
【问题讨论】:
-
您是否尝试过检查该行是否被选中?
-
我假设 DataGrid.Selected 行中的所有行都被选中。就像我说的,有一个模式;它会占用在某个时间点被点击的所有行,只是点击其他地方不会取消选择它。
-
选中行和高亮行有什么区别?
-
我没有得到你所说的如果一行被点击一次,它总是被选中的那部分!
-
@nawfal:我不知道,我不会认为有区别,但在 DataGrid.SelectedRows 中既有突出显示的行,也有未突出显示的行。
标签: c# datagridview