我在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的行是否已经存在一个主要的列,如果确实存在则增加数量,如果不存在则进行输入?
答案 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}}
编辑错误已修复