首页 > 解决方案 > 如何在 .NET Windows 窗体中自定义 datagridview 中的列宽

问题描述

我有一个 datagridview,每当我单击或双击一行时,我都需要知道该行具有哪个 ID,并且该 ID 需要传递给另一个函数以填充其他控件。

谁能告诉我应该使用什么事件?

我不需要在这里考虑多个选择。

非常感谢。

标签: .netdatagridview

解决方案


如果您已将 设置.DataSource为提供数据,则需要一些代码来检索底层DataRow. 这是因为如果您通过单击列标题对 DataGridView 进行排序,则不能再依赖于.RowIndex匹配底层 DataSource 中的那些。

   private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (e.RowIndex >= 0)
        {
            var x = ((DataRowView)dataGridView1.Rows[e.RowIndex].DataBoundItem).Row.Field<string>("Id");
            MessageBox.Show(x);
        }
    }

推荐阅读