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

How to empty the current row of a DataGridView in C#?

我正在为书店开发 windows 表单应用程序。在此应用程序中有一个数据网格视图 select 待售书籍。如果库存中没有可用的商品,我需要清除当前行 values.So 我该怎么做。我试过这个

dataGridView1.Rows.Clear();

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

您需要在数据网格中指定要删除的行。您可以通过选择所选行的 "index" 来执行此操作。

dataGrid.Rows[index].Selected = true;

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

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

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

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

编辑:添加了对 IsNewRow 的检查,以防 AllowUsersToAddRows 为 True,如果那是选定的行,则会抛出异常。