.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;
}
我正在创建一个程序来跟踪我们公司的 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;
}