2016-10-31 35 views
0

對於我的DataGridView,我有一個SortablebindingList<Record>作爲DataSource。我也有dataGridView.CellContentDoubleClick映射到我的selectionDblClicked()功能。如何訪問所選行代表的對象?

dataGridView.CellContentDoubleClick += new System.Windows.Forms.DataGridViewCellEventHandler(selectionDblClicked); 

...

 void selectionDblClicked(object sender, EventArgs e) 
    { 
     //Do something with the underlying `record` object... 

    } 

現在,事件處理器傳遞sender對象和EventArgs說法。

我的問題是如何使用DataGridViewCellEventHandler訪問被「雙擊」的底層對象?

回答

1

使用點擊行的DataBoundItem屬性。

要查看哪個行被點擊,請使用DataGridViewCellEventArgs的RowIndex屬性。

void selectionDblClicked(object sender, DataGridViewCellEventArgs e) 
{ 
    var rowClicked = dataGridView.Rows[e.RowIndex]; 
    DoSomething(rowClicked.DataBoundItem as Record); 
} 
+0

很好,我會試試這個。一旦我測試出來,我會將其標記爲正確的。 – MrDysprosium