我正在尝试将column1值添加到column2并且必须插入column2
我的代码是
活动 CellLeave
if (dgrVwEmp.Columns[dgrVwEmp.CurrentCell.ColumnIndex].Name == "ol")
{
int ol;
int.TryParse(dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ol"].EditedFormattedValue.ToString(), out ol);
int leavs;
int.TryParse(dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlLeaves"].Value.ToString(), out leavs);
int dys;
int.TryParse(dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlWrkng"].Value.ToString(), out dys);
dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlLeaves"].Value = (ol + leavs).ToString();
dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlWrkng"].Value = (dys - ol).ToString();
}
当我第一次尝试添加时,值是添加并插入第3个字段,如果我回到同一个单元格,它会再次添加到已添加的字段。如何正确添加它。这是因为我正在使用Cell Leave。是否有其他方式或其他事件正确地执行此操作
答案 0 :(得分:1)
也许你可以引入一个保存旧值的变量,当事件被触发时,在添加新值的同时从ttleaves
单元格中减去旧值。与ttlWrkng
单元格相反:
private int oldValue = 0;
private void dgrVwEmp_CellLeave(object sender, DataGridViewCellEventArgs e)
{
if (dgrVwEmp.Columns[dgrVwEmp.CurrentCell.ColumnIndex].Name == "ol")
{
int ol;
int.TryParse(dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ol"].EditedFormattedValue.ToString(), out ol);
int leavs;
int.TryParse(dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlLeaves"].Value.ToString(), out leavs);
int dys;
int.TryParse(dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlWrkng"].Value.ToString(), out dys);
dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlLeaves"].Value = (ol + leavs - oldValue).ToString();
dgrVwEmp.Rows[dgrVwEmp.CurrentCell.RowIndex]
.Cells["ttlWrkng"].Value = (dys - ol + oldValue).ToString();
oldValue = ol;
}
}