我有一个未绑定的DataGridView
,用于显示数据库搜索结果。行以编程方式放置。我将DataGridView
对象设置为只读,但如果有人双击一行中的一个单元格,我想在新的Windows Form
中打开原始记录进行编辑。我知道用于触发此事件的事件是dataGridView1_CellContentDoubleClick
,但由于dataGridView1未绑定,我不确定下一步该做什么。
有没有办法可以从object sender
或EventArgs e
获取主键?我可以从RowIndex
获取e
,但这与主键不同,因为(我认为)它将引用DataGridView中的行索引。
答案 0 :(得分:1)
正如Chris在下面的评论中所说,为了填充SelectedRows属性,你需要设置
dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect
否则,DataGridViewCellEventArgs e
内的所有内容都是双击的列的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;
}