C# 对象不包含';单元格';错误
我有两个datagridview。datagridview1和datagridview2。当我将产品从datagridview1添加到datagridview2时,datagridview1中的产品数量将传输到datagridview2。现在,当我从datagridview2中删除产品时,我需要它将数量传输回datagridview1 以前有人帮过我,但我现在犯了这个错误。C# 对象不包含';单元格';错误,c#,object,datagridview,C#,Object,Datagridview,我有两个datagridview。datagridview1和datagridview2。当我将产品从datagridview1添加到datagridview2时,datagridview1中的产品数量将传输到datagridview2。现在,当我从datagridview2中删除产品时,我需要它将数量传输回datagridview1 以前有人帮过我,但我现在犯了这个错误。 private int FindRowIndexByID(字符串id) { 对于(int i=0;i
private int FindRowIndexByID(字符串id)
{
对于(int i=0;i
在for循环中,将var
更改为实际类型,即DataGridViewRow
。
像这样:foreach(dgvPOScart.SelectedRows中的DataGridViewRowrow){..
我已经尝试过了,但是我得到了一个错误。在按钮删除((row.Cells[0].Value)];)的第7行,单击它说“无法从对象转换为字符串”row.Cells[0].Value
返回一个对象类型,但是您的FindRowIndexByID
函数需要一个字符串,您需要这样转换:行.Cells[0].Value.ToString()
@FutureDev请不要忘记接受答案!
private int FindRowIndexByID(string id)
{
for (int i = 0; i < dgvPOSproduct.Rows.Count; i++)
{
if (dgvPOSproduct.Rows[i].Cells[0].Value.ToString() == id)
{
return i;
}
}
return -1;
}
private void btnRemove_Click(object sender, EventArgs e)
{
foreach (var row in dgvPOScart.SelectedRows)
{
// Get the row in dgvProducts and the quantity he'll gain back
var productRow = dgvPOSproduct.Rows[FindRowIndexByID(row.Cells[0].Value)];
int qtyToAdd = Convert.ToInt32(row.Cells[4].Value);
// Add the quantity back
productRow.Cells[5].Value = Convert.ToInt32(productRow.Cells[5].Value) + qtyToAdd;
}
}