c# - 从 DataGridView 中删除选定的行

标签 c# datagridview casting

我试图从 DataGridView 中删除选定的行,但我收到以下错误消息:

Specified cast is not valid.

在这行代码中:

this.DGV_INVOICE.Rows.Cast<DataGridViewRow>().Where(ROW => (bool?)ROW.Cells[0].Value == true).ToList().ForEach(x => { this.DGV_INVOICE.Rows.Remove(x); });

尝试删除所有选定行的第二种方法:

foreach (DataGridViewRow RowToDelete in DGV_INVOICE.Rows)
{
    object Cell = RowToDelete.Cells["Edit_Checkbox"].Value;

    if (Cell.ToString() == "True")
    {
        // Allow user to delete record from invoice
        DGV_INVOICE.Rows.Remove(RowToDelete);
    }
}

最佳答案

通过 DataGridView 的 .Rows 集合向后循环,这样您就不会在删除时丢失索引

for (int i = DGV_INVOICE.Rows.Count - 1; i >= 0; i--)
{
    object Cell = DGV_INVOICE.Rows[i].Cells["Edit_Checkbox"].Value;

    if (Cell.ToString() == "True")
        DGV_INVOICE.Rows.RemoveAt(i);
}

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

相关文章:

c# - 如何在 MVC C# 项目中使用 dll 文件?

c# - 如何在 1 列 datagridview 中显示来自 mysql 数据库的 2 个不同列

c# - 如何使用 Entity Framework 将多个表的数据绑定(bind)到 datagridview 并使用 CRUD 操作?

string - Swift 和 XCode 6 - 将整数转换为字符串

c# - 使用 ArcGIS Runtime 本地服务器实现 MVVM

c# - 对简单 View 进行过多测试?

c# - 动态修改时未更新 Datagridview 单元格值

c# - HashTable 编译错误(缺少强制转换?)

java - 使用 (int) 将 double 转换为 int

c# - 实体数据未知时的数据库设计?