双击DataGridvView行后获取记录ID

时间:2012-11-10 23:07:49

标签: c# winforms datagridview event-handling

有没有其他简洁的方法从DataGridView行双击事件获取记录ID?这是事件吗?

   private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        var databaseRecordId = dataGridView1.Rows[e.RowIndex].Cells[0].Value;
        //...
    } 

2 个答案:

答案 0 :(得分:4)

准确地说

private void dataGridView1_CellMouseDoubleClick(object sender, DataGridViewCellMouseEventArgs e)
    {
        var databaseRecordId = dataGridView1.Rows[e.RowIndex].Cells[0].Value;
    } 

CellDoubleClick事件比CellContentDoubleClickCellMouseDoubleClick更适合。

答案 1 :(得分:3)

我不知道这是否一定“更容易”,但如果你不想在网格视图中显示id或更改列顺序,它会更安全一些。

var databaseRecordId = ((MyBoundObjectType)dataGridView1.Rows[e.RowIndex].DataBoundItem).MyRecordId;

MyBoundObjectTypeMyRecordId是绑定到行和相应Id属性的类型。