.AddCopy 在数据绑定数据网格视图中

.AddCopy in a databound datagridview

我正在创建一个程序来跟踪我们公司的 IT 资产。每个项目都有自己的行,因此我们可以单独跟踪它在哪里以及谁拥有它。我想为用户提供复制和复制行的选项,这样他们就不必为 50 根电源线输入完全相同的内容。当我尝试使用 datagridview.rows.addcopy 时,我收到一条错误消息,指出无法以编程方式将行添加到数据绑定的控件中。有什么解决办法吗?

您可以将 DataGridView.DataSource 设置为 DataTable。 然后,当用户在 datagridview 中选择一行时,内容应该是 首先添加到数据 table 作为新行,然后再次将 datagridview.datasource 设置为此数据 table,更改将被反映出来。除此之外,您应该编写代码来更新数据库中的基础 table。

假设 datagridview (dgv) 的数据源设置为 DataTable dt。

代码: 您可以将此方法调用为:copyRow(dgv.CurrentRow);

private void copyRow(Int32 irow)
{
    DataRow dr = dt.Rows[irow];
    //if you have a unique identifier for this row, then 
    //before adding as a new row , generate a new id 
    //replace the current id in this row with this new value
    //assuming 0 element of dr has the unique id, set dr[0] = <new id>;
    dt.Rows.Add(dr);
    //write code to submit the changes done to DataTable, back to database

    dgv.DataSource = dt;

}