Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# .AddCopy在数据绑定的datagridview中_C#_Vb.net_Visual Studio_Datagridview_Rowdatabound - Fatal编程技术网

C# .AddCopy在数据绑定的datagridview中

C# .AddCopy在数据绑定的datagridview中,c#,vb.net,visual-studio,datagridview,rowdatabound,C#,Vb.net,Visual Studio,Datagridview,Rowdatabound,我正在创建一个程序来跟踪我们公司的IT资产。每个项目都有自己的行,因此我们可以单独跟踪它在哪里以及谁拥有它。我想让用户可以选择复制和复制行,这样他们就不必为50根电源线输入完全相同的内容。当我尝试使用datagridview.rows.addcopy时,我收到一条错误消息,指出无法通过编程将行添加到数据绑定的控件。有没有办法解决这个问题?您可以将DataGridView.DataSource设置为DataTable。 然后,当用户在datagridview中选择一行时,内容应该是 首先作为新行添

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

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

假设datagridview(dgv)将其数据源设置为DataTable dt

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

private void copyRow(Int32 irow)
{
数据行dr=dt.行[irow];
//如果此行具有唯一标识符,则
//在添加为新行之前,请生成一个新id
//用此新值替换此行中的当前id
//假设dr的0元素具有唯一id,则设置dr[0]=;
dt.Rows.Add(dr);
//编写代码将对DataTable所做的更改提交回数据库
dgv.DataSource=dt;
}

Yes,如消息所示,将新行添加到数据源中。DGV只是向用户显示数据视图的一种方式user@Plutonix非常好,谢谢
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;

}