我可以通过双击未绑定的DataGridView中的单元格来打开DataSet记录吗?

时间:2013-06-05 19:10:32

标签: c# database datagridview dataset

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

有没有办法可以从object senderEventArgs e获取主键?我可以从RowIndex获取e,但这与主键不同,因为(我认为)它将引用DataGridView中的行索引。

1 个答案:

答案 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;
}