如何在C#中清空DataGridView的当前行?

时间:2018-06-26 10:40:53

标签: c# winforms datagridview datagridviewrow

我正在为书店开发Windows窗体应用程序。在此应用程序中,有一个datagridview可以选择要出售的书籍。如果库存中没有可用的物品,我需要清除当前行值,那么我该怎么做。我尝试过了

dataGridView1.Rows.Clear();

但是这清除了整个datagridview。但是当我单击“确定”消息时,我只需要清除当前行。

enter image description here

2 个答案:

答案 0 :(得分:0)

您将需要在数据网格中指定要删除的行。您可以通过选择所选行的“索引”来完成此操作。

dataGrid.Rows[index].Selected = true;

或者您可以执行以下操作:

dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
    if(YOUR CONDITION)
       row.Selected = true;
}

答案 1 :(得分:0)

我总是使用removeat,首先检查以确保选择了某些内容,然后在传递索引的同时执行removeat。

if(dataGridView1.CurrentRow.Index > -1 && !dataGridView1.Rows[dataGridView1.CurrentRow.Index].IsNewRow)
    dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);

编辑:在AllowUsersToAddRows为True的情况下添加了对IsNewRow的检查,如果这是所选行,则会抛出异常。