private void dataGridView1_CellParsing(object sender, DataGridViewCellParsingEventArgs e) { if (e.ColumnIndex == 6 || e.ColumnIndex == 7) { DataGridViewRow theCurrentRow = this.dataGridView1.CurrentRow; if (!string.IsNullOrEmpty(theCurrentRow.Cells[6].Value.ToString())) { if (!string.IsNullOrEmpty(theCurrentRow.Cells[7].Value.ToString())) { int accountA = 0; int accountB = 0; if (e.ColumnIndex == 6) { accountA = Convert.ToInt32(e.Value.ToString()); } else { accountA = (int)theCurrentRow.Cells[6].Value; } if (e.ColumnIndex == 7) { accountB = Convert.ToInt32(e.Value.ToString()); } else { accountB = (int)theCurrentRow.Cells[7].Value; } int accountC = accountA * accountB; DataRow theRow = testDataSet.Tables["T_UserInfo"].Rows[e.RowIndex]; theRow["AccountC"] = accountC; t_UserInfoTableAdapter.Update(testDataSet.Tables["T_UserInfo"].Rows[e.RowIndex]); theCurrentRow.Cells[8].Value = accountC; this.dataGridView1.Refresh(); e.ParsingApplied = true; } } } } 实现的效果就是这样子