按值复制一个DataGridViewRow

本文关键字:一个 DataGridViewRow 复制 | 更新日期: 2023-09-27 18:08:37

我有一个命令类,(希望)使用DataGridViewRow作为成员,以便执行和撤消。当我试图将传入dgvr分配给构造函数中的成员行(例如_row = r;)时,似乎我得到了一个引用,而不是一个新的副本,使得撤消操作不可能(原始dgvr被删除,然后成员行变为空)。

我也尝试通过msdn"复制"行,如下所示:

public DataGridViewRow CloneWithValues(DataGridViewRow row)
{
    DataGridViewRow clonedRow = (DataGridViewRow)row.Clone();
    for (Int32 index = 0; index < row.Cells.Count; index++)
    {
        clonedRow.Cells[index].Value = row.Cells[index].Value;
    }
    return clonedRow;
}

然而,这似乎将模式留在后面,因为我不能通过名称访问字段(例如_row.Cells["critical"]. value)。

我如何使一个DataGridViewRow的值的副本?

按值复制一个DataGridViewRow

我会尝试一种更简单的方法,在数据表级别,调用datatable. rows . add并传递修改后的datarow.ItemArray.

这是有效的,如果你仍然有一个参考你的表,应该是网格数据源,我认为。