2012-09-24 29 views
0

我希望能夠爲用戶在我DGV的DefaultValuesNeeded做這樣的事情進入它()事件的值從以前的行復制到新行:我可以從DGV的DefaultValuesNeeded事件推斷出前一行嗎?

private void dataGridViewPlatypi_DefaultValuesNeeded(object sender, DataGridViewRowEventArgs args) 
{ 
    dataGridViewRow dgvr = args.PreviousRow; 
    args.Row.Cells[1].Value = dgvr.Cells[1].Value; 
    args.Row.Cells[2].Value = dgvr.Cells[2].Value; 
    args.Row.Cells[3].Value = dgvr.Cells[3].Value; 
    args.Row.Cells[4].Value = dgvr.Cells[4].Value;; 
    args.Row.Cells[5].Value = dgvr.Cells[5].Value; 
} 

...但是,我不知道是否有可能以編程的方式推斷出前一行(沒有args的「PreviousRow」屬性,因爲我希望如上所示)。

回答

0

這並不完全回答我的問題也提出了,因爲它僅複製一個小區的時間,而不是整個行,但它確實適合我的目的(從單元格複製到左邊的第一排,和從其後上方的單元格):

這工作:

private void dataGridViewPlatypi_CellEnter(object sender, DataGridViewCellEventArgs args) 
{ 
    string prevVal = string.Empty; 
    if (args.RowIndex > 0) 
    { 
     prevVal = dataGridViewPlatypi.Rows[args.RowIndex - 1].Cells[args.ColumnIndex].Value.ToString(); 
    } else if (args.ColumnIndex > 1) 
    { 
     prevVal = dataGridViewPlatypi.Rows[args.RowIndex].Cells[args.ColumnIndex-1].Value.ToString(); 
    } 
    dataGridViewPlatypi.Rows[args.RowIndex].Cells[args.ColumnIndex].Value = prevVal; 
} 
相關問題