private void dataGridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            this.cri_HydTableAdapter.Update(sWDBDataSet);
            if (dataGridView.Rows[dataGridView.Rows.Count-1].Cells[3].ToString().Trim()=="")
            {
                double i = Convert.ToDouble(dataGridView.Rows[dataGridView.Rows.Count-1].Cells[2].Value);                double n = Convert.ToDouble(dataGridView.Rows[dataGridView.Rows.Count - 2].Cells[3].Value);
                dataGridView.Rows[dataGridView.Rows.Count].Cells[0].Value =i  * n;
            }
我想当输入最后一行第三列的数后 在最后一行第一列中就显示 出计算的的值  这段代码不行么??

解决方案 »

  1.   


                if (dataGridView.Rows[dataGridView.Rows.Count - 1].Cells[3].ToString().Trim() == "")
                {
                    double i = Convert.ToDouble(dataGridView.Rows[dataGridView.Rows.Count - 1].Cells[2].Value);                double n = Convert.ToDouble(dataGridView.Rows[dataGridView.Rows.Count - 2].Cells[3].Value);
                    dataGridView.Rows[dataGridView.Rows.Count].Cells[0].Value = i * n;
                    MessageBox.Show(Convert.ToString(dataGridView.Rows[dataGridView.Rows.Count - 1].Cells[0].Value));                this.cri_HydTableAdapter.Update(sWDBDataSet);
      

  2.   


                if (dataGridView.Rows[dataGridView.Rows.Count - 1].Cells[3].ToString().Trim() == "")
                {
                    double i = Convert.ToDouble(dataGridView.Rows[dataGridView.Rows.Count - 1].Cells[2].Value);                double n = Convert.ToDouble(dataGridView.Rows[dataGridView.Rows.Count - 2].Cells[3].Value);
                    dataGridView.Rows[dataGridView.Rows.Count].Cells[0].Value = i * n;
                    MessageBox.Show(Convert.ToString(dataGridView.Rows[dataGridView.Rows.Count - 1].Cells[0].Value));                this.cri_HydTableAdapter.Update(sWDBDataSet);
      

  3.   

    好像是下标问题
    dataGridView.Rows[dataGridView.Rows.Count] 溢出了
    最后一行下标应该是dataGridView.Rows[dataGridView.Rows.Count-1]