[英]Can I open a DataSet record by double-clicking a cell in an unbound DataGridView?
我有一個未綁定的DataGridView
,用於顯示數據庫搜索結果。 這些行以編程方式放置。 我將DataGridView
對象設置為“只讀”,但是如果有人雙擊行中的一個單元格,我想在新的Windows Form
打開原始記錄進行編輯。 我知道觸發該事件的事件是dataGridView1_CellContentDoubleClick
,但是由於dataGridView1是未綁定的,所以我不確定下一步該怎么做。
有沒有一種方法可以從object sender
或EventArgs e
獲取主鍵? 我可以從e
獲取RowIndex
,但這與主鍵不同,因為(我認為)它將引用DataGridView中的行索引。
就像克里斯在下面的評論中說的那樣,要填充SelectedRows屬性,您需要設置
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
否則,您在DataGridViewCellEventArgs e
擁有的ColumnIndex
就是被雙擊的列的ColumnIndex
。
設置選擇模式后,您可以執行以下操作:
public void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
// sender is just dataGridView1 btw..
var selectedRow = dataGridView1.SelectedRows[0];
var primaryKey = selectedRow.Cells["primaryKeyColumnName"].Value;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.