2013-03-08 37 views
0

我想補充COLUMN1價值COLUMN2並具有插入列2如何添加datagridview的列1和列2到欄3在C#

我的代碼是

事件是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(); 

} 

當我試圖添加這樣的第一次是值添加和插入到第三場,如果我回到同一個單元格它再次添加到已添加的字段。我如何正確添加它。這是因爲我甚至使用Cell離開。是否有任何其他方式或其他事件可以正確執行此操作

+0

不確定問題是否清楚。你需要一個說不再計算或者類似的標誌嗎? – LarsTech 2013-03-08 17:45:40

+0

yaahh ..多數民衆贊成在想法。但是我怎麼能發現這個值被改變來計算 – 2013-03-08 17:55:38

回答

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; 
    } 

} 
相關問題