比较两个datagridview单元格之间的值

时间:2017-10-02 07:25:10

标签: c#

我有两个名为dgv1dgv2的datagridview,datagridview中的每一行都是唯一的,带有一些ID。考虑一下我IDQuantityPrice& Total字段。

首先,我将dgv1的所有值复制到dgv2。在此之后,我正在更改dgv2中的数量值,如果dgv2中的数量大于dgv1中针对特定ID的数量,那么它不应更改该值或应显示消息或类似的东西。

希望我已经清楚解释过,下面是工作代码。它适用于复制,编辑和乘法,但我需要帮助来比较datagridview数量值。

   private void btnCopyTo_Click(object sender, EventArgs e)
    {
        foreach (DataGridViewRow item in dataGridView1.Rows)
        {
            if ((bool)item.Cells[0].Value == true)
            {
                int n = dataGridView3.Rows.Add();

                dataGridView3.Rows[n].Cells[0].Value = item.Cells[0].Value.ToString();
                dataGridView3.Rows[n].Cells[1].Value = item.Cells[1].Value.ToString();
                dataGridView3.Rows[n].Cells[2].Value = item.Cells[2].Value.ToString();
                dataGridView3.Rows[n].Cells[3].Value = item.Cells[3].Value.ToString();

            }
        }       
    }

    private void dataGridView3_CellEndEdit(object sender, DataGridViewCellEventArgs e)
    {
        foreach (DataGridViewRow row in dataGridView3.Rows)
        {
            row.Cells[dataGridView3.Columns[3].Index].Value = (Convert.ToDouble(row.Cells[dataGridView3.Columns[2].Index].Value) * Convert.ToDouble(row.Cells[dataGridView3.Columns[1].Index].Value));
        }
    }

1 个答案:

答案 0 :(得分:0)

你的意思??我不明白。

  private void CompareData()
    {
        for (int i = dataGridView1.RowCount - 1; i >= 0; i--)
        {
            for (int j = 0; j < dataGridView3.RowCount - 1; j++)
            {
                if(Convert.ToDouble(dataGridView1.Rows[i].Cells[1].Value.ToString()) >= Convert.ToDouble(dataGridView3.Rows[j].Cells[1].Value.ToString()))
                {
                   //handle

                }
            }
        }

    }