.net - 如何在 .NET Windows 窗体中自定义 datagridview 中的列宽
问题描述
我有一个 datagridview,每当我单击或双击一行时,我都需要知道该行具有哪个 ID,并且该 ID 需要传递给另一个函数以填充其他控件。
谁能告诉我应该使用什么事件?
我不需要在这里考虑多个选择。
非常感谢。
解决方案
如果您已将 设置.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);
}
}
推荐阅读
- css - 如何将类绑定到 v-select 中的选定选项?
- json - 如何制作有效的 JSON 键值数据?
- python - 使用 Z3 python 对整数列表进行排序
- flutter - 如何在颤动中实现这种效果/布局?
- javascript - 将字符串数组映射到特定对象数组
- python - 如何在pygame中绘制半透明线?
- python - wxpython-工具栏上位图上的颜色未出现
- docker - Docker 构建输出在 Bitbucket 管道中不起作用
- php - 通过 composer ( laravel/scout ) 在 laravel 上安装包时出错
- javascript - 表保存 cookie 中的列位置