DataTable中的增量或ImportRow

时间:2014-03-06 22:58:12

标签: c# winforms datagridview

我在c#中有2个datagridviews。让我们称他们为dgv1和dgv2。 dgv1绑定到从SQL Server填充的DataTable dt1。 dgv2绑定到DataTable dt2。通过从Enter上的dt1复制行来填充dt2。

在dt2中,我有一个额外的列'QUantity',当用户想要添加已存在的行时,应该增加该列。

将行从dt1复制到dt2的代码:

 DataRowView currentDataRowView = (DataRowView)dgv1.CurrentRow.DataBoundItem;
 DataRow dr = currentDataRowView.Row;

 dt2.ImportRow(dr);
 dgv2.DataSource = dtInvoiceItems;

如何检查基于dt2的行是否已经存在一个主要的列,如果确实存在则增加数量,如果不存在则进行输入?

1 个答案:

答案 0 :(得分:1)

要按主键查找行:DataRow row = dt2.Rows.Find(primary_key_value); primary_key_value可以dr[dt2.PrimaryKey[0]]获取row["QUantity"] = (int)row["QUantity"] + 1;。 增加数量:DataRowView currentDataRowView = (DataRowView)dgv1.CurrentRow.DataBoundItem; DataRow dr = currentDataRowView.Row; DataRow row = dt2.Rows.Find(dr[dt2.PrimaryKey[0].ColumnName]); if (row == null) dt2.ImportRow(dr); else row["QUantity"] = (int)row["QUantity"] + 1;
结果代码:

{{1}}

编辑错误已修复