我正在为书店开发一个 Windows 窗体应用程序。在这个应用程序中有一个 datagridview 来选择要出售的书籍。如果库存中没有可用的项目,我需要清除当前行值。那么我该怎么做。我试过这个
dataGridView1.Rows.Clear();
但这清除了整个datagridview。但是当我单击确定消息时,我只需要清除当前行。
我正在为书店开发一个 Windows 窗体应用程序。在这个应用程序中有一个 datagridview 来选择要出售的书籍。如果库存中没有可用的项目,我需要清除当前行值。那么我该怎么做。我试过这个
dataGridView1.Rows.Clear();
但这清除了整个datagridview。但是当我单击确定消息时,我只需要清除当前行。
您需要在数据网格中指定要删除的行。您可以通过选择所选行的“索引”来执行此操作。
dataGrid.Rows[index].Selected = true;
或者您可以执行以下操作:
dataGrid.SelectedRows.Clear();
foreach(DataGridViewRow row in dataGrid.Rows)
{
if(YOUR CONDITION)
row.Selected = true;
}
我总是先检查以确保选择了某些东西,然后在传递索引时执行 removeat。
if(dataGridView1.CurrentRow.Index > -1 && !dataGridView1.Rows[dataGridView1.CurrentRow.Index].IsNewRow)
dataGridView1.Rows.RemoveAt(dataGridView1.CurrentRow.Index);
编辑:添加了对 IsNewRow 的检查,以防 AllowUsersToAddRows 为 True,如果这是所选行,则会抛出异常。