1

我有一个未绑定DataGridView的,用于显示数据库搜索结果。这些行以编程方式放置。我将DataGridView对象设置为只读,但Form如果有人连续双击其中一个单元格,我想在新 Windows 中打开原始记录进行编辑。我知道用于触发此事件的事件是dataGridView1_CellContentDoubleClick,但由于 dataGridView1 未绑定,我不太确定下一步该做什么。

有没有一种方法可以让我获得主键,例如,从object senderor EventArgs e?我可以得到RowIndexfrom e,但这与主键不同,因为(我认为)它将引用 DataGridView 中的行索引。

4

1 回答 1

1

正如克里斯在下面的评论中所说,为了填充 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;
}
于 2013-06-05T19:14:50.350 回答