在 C# 中访问 Datagrid 中的属性
Posted
技术标签:
【中文标题】在 C# 中访问 Datagrid 中的属性【英文标题】:Accessing a property in a Datagrid in C# 【发布时间】:2010-02-14 14:40:49 【问题描述】:我正在将数据库查询的输出加载到 DataGrid。
myAdapter.Fill(ds,"AllInfo");
dataGridSearchOutput.DataSource = ds.Tables["AllInfo"].DefaultView;
它将用多条记录填充数据网格控件。假设数据记录的主键是“ID”。
现在我想生成报告。为此,我需要选择一个项目并单击“生成报告”按钮或双击记录。然后应该为该 ID 生成报告。
我的问题是我应该如何捕获记录的 ID?换句话说,我需要读取 datagrid 中的选定值。
【问题讨论】:
【参考方案1】:你可以试试
dataGridView1.CurrentRow.Cells["ID"].Value
看看
DataGridView.CurrentRow Property get the selected row in datagridview编辑:
也许然后看看使用DataGrid.CurrentRowIndex Property
【讨论】:
【参考方案2】:这行得通吗?将其放在单击或双击的事件处理程序中...
DataView dv = (DataView)dataGridSearchOutput.DataSource;
DataRow selectedRow = dv.ToTable().Rows[dataGridSearchOutput.CurrentRowIndex];
long id = (long)selectedRow["ID"];
【讨论】:
【参考方案3】:我认为最简单的方法是将 GridView 属性 DataKeyNames 设置为 ID,然后您可以轻松地使用 ID
int index = dataGridSearchOutput.SelectedIndex;
dataGridSearchOutput.DataKeys[index].Value.ToString()
或者你可以转换它,只要它是对象。
【讨论】:
以上是关于在 C# 中访问 Datagrid 中的属性的主要内容,如果未能解决你的问题,请参考以下文章
如何在 WPF 中设置 DataGrid 的 DataSource?
在C# winform 程序里设置 DataGrid 为只读属性。
在 WPF 中访问 DataGrid 的 ScrollView 属性