0

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

dataGridView1.Rows.Clear();

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

在此处输入图像描述

4

2 回答 2

0

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

dataGrid.Rows[index].Selected = true;

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

dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
    if(YOUR CONDITION)
       row.Selected = true;
}
于 2018-06-26T10:48:17.657 回答
0

我总是先检查以确保选择了某些东西,然后在传递索引时执行 removeat。

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

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

于 2018-06-26T11:18:19.497 回答