Use Datagridview's
CurrentCellDirtyStateChanged event
Private void dgv1_CurrentCellDirtyStateChanged(Object sender, System.EventArgs e)
{
If (dgv1.IsCurrentCellDirty)
{
dgv1.CommitEdit(DataGridViewDataErrorContexts.Commit)
If (dgv1.CurrentCell.ColumnIndex == 1 || dgv1.CurrentCell.ColumnIndex == 2)
{
decimal qty = 0.0;
decimal Rate= 0.0;
if(Decimal.TryParse(dgv1.Rows[dgv1.CurrentCell.RowIndex].Cells["ColQty"].Value, qty)==true)
{
qty = dgv1.Rows[dgv1.CurrentCell.RowIndex].Cells["ColQty"].Value;
}
if(Decimal.TryParse(dgv1.Rows[dgv1.CurrentCell.RowIndex].Cells["ColRate"].Value, Rate)==true)
{
Rate = dgv1.Rows[dgv1.CurrentCell.RowIndex].Cells["ColRate"].Value;
}
dgv1.Rows[dgv1.CurrentCell.RowIndex].Cells["ColTotal"].Value = qty * Rate;
}
}
}
Happy Coding!
:)