你知道,如果DataGridView中已经存在项目名称,我试图添加数量。所以我做了一个for循环来检查DataGridView中的每一行。它做的只是添加更多行。
for (int x = 0; x < dataGridView.Rows.Count; x++)
{
if (dataGridView.Rows[x].Cells[1].Value.ToString() == dataTable.Rows[0][2].ToString())
{
dataGridView.Rows[x].Cells[0].Value = int.Parse(dataGridView.Rows[x].Cells[0].Value.ToString()) + 1;
dataGridView.Rows[x].Cells[2].Value = Convert.ToDecimal(dataTable.Rows[0][4].ToString()) * Convert.ToDecimal(dataGridView.Rows[x].Cells[0].Value.ToString());
}
else
{
quantity = 1;
dataGridView.Rows.Add(quantity, dataTable.Rows[0][2], dataTable.Rows[0][4]);
}
}
答案 0 :(得分:0)
我认为在字符串比较中使用.ToLower()或.ToUpper()会更好。
答案 1 :(得分:0)
我解决了!我只是使用for循环制作了一个检查器!
for (int x = 0; x < dataGridView.Rows.Count; x++)
{
if (dataGridView.Rows[x].Cells[1].Value.ToString() == dataTable.Rows[0][2].ToString())
{
same = true;
counter = x;
}
}
if (same == true)
{
dataGridView.Rows[counter].Cells[0].Value = int.Parse(dataGridView.Rows[counter].Cells[0].Value.ToString()) + 1;
dataGridView.Rows[counter].Cells[2].Value = Convert.ToDecimal(dataTable.Rows[0][4].ToString()) * Convert.ToDecimal(dataGridView.Rows[counter].Cells[0].Value.ToString());
}
else
{
quantity = 1;
dataGridView.Rows.Add(quantity, dataTable.Rows[0][2], dataTable.Rows[0][4]);
}