使用winforms从数据网格中已删除的行获取值

本文关键字:删除 获取 winforms 数据 数据网 网格 使用 | 更新日期: 2023-09-27 18:03:33

我正在使用带有数据格的类型数据集。当我删除一行时,我使用dataset.HasChanges过滤器并获得如下更改。

dtDel = (Database1DataSet1.product_skuDataTable)database1DataSet1.product_sku.GetChanges(DataRowState.Deleted); 

我试图从删除的行中获取值(产品名称),如下所示。

private string getProdNames(DataTable dtDel)
{
    string prodNames = "";
    var q = dtDel.AsEnumerable().Select(x => x.Field<string>("ProductName"));
    foreach (string p in q)
    {
        prodNames += p + "'n";
    }
    return prodNames;
}

但是我得到以下错误:

删除的行信息不能通过该行访问。

谢谢

使用winforms从数据网格中已删除的行获取值

在这里和这里找到了答案

linq查询将像这样工作

 var q = dt.AsEnumerable().Select(x => x.Field<string>(colName, DataRowVersion.Original));