gpt4 book ai didi

c# - 删除datagridview中的多行

转载 作者:太空狗 更新时间:2023-10-29 22:17:04 27 4
gpt4 key购买 nike

我有一个功能,可以在数据 GridView 中右键单击删除来删除单行..

代码:

  private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{

if (e.Button == MouseButtons.Right)
{
var hti = dataGridView1.HitTest(e.X, e.Y);
if (hti.RowIndex != -1)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[hti.RowIndex].Selected = true;
}
}
}

private void DeleteRow_Click(object sender, EventArgs e)
{
Int32 rowToDelete = dataGridView1.Rows.GetFirstRow(DataGridViewElementStates.Selected);
if (rowToDelete != -1)
{
dataGridView1.Rows.RemoveAt(rowToDelete);
dataGridView1.ClearSelection();
}
}

但现在我想在选择时删除多行。
首先我不知道为什么我不能选择多行。
其次,我想使用删除按钮并右键单击鼠标删除来删除多个删除。

有人可以帮助我吗?

最佳答案

编辑:看看你的代码。您正在根据 HitTest 方法的结果设置所选行。 DataGridView 属性 SelectedRows 将确定选择了哪些行。不确定为什么需要执行 HitTest,但也许您还没有完全解释所需的功能。

if (e.Button == MouseButtons.Right)
{
var hti = dataGridView1.HitTest(e.X, e.Y);
if (hti.RowIndex != -1)
{
dataGridView1.ClearSelection();
dataGridView1.Rows[hti.RowIndex].Selected = true;
}
}

确保数据网格上的 MultiSelect 属性设置为 true

然后,您可以根据自己的选择使用 SelectedRows 属性:

foreach (DataGridViewRow row in DataGridView1.SelectedRows)
{
DataGridView1.Rows.Remove(row);
}

关于c# - 删除datagridview中的多行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6903393/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com