我试图从 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/