繁体   English   中英

在C#中访问Datagrid中的属性

[英]Accessing a property in a Datagrid in C#

我正在将数据库查询的输出加载到DataGrid。

myAdapter.Fill(ds,"AllInfo");
dataGridSearchOutput.DataSource = ds.Tables["AllInfo"].DefaultView;

它将用多个记录填充数据网格控件。 假设数据记录的主键是“ ID”。

现在我要生成报告。 为此,我需要选择一个项目,然后单击“生成报告”按钮或双击一条记录。 然后应为该ID生成报告。

我的问题是我应该如何获取记录的ID? 换句话说,我需要在datagrid中读取选定的值。

您可以尝试使用

dataGridView1.CurrentRow.Cells["ID"].Value

看一下

编辑:

然后也许看看使用DataGrid.CurrentRowIndex属性

这样行吗? 将其放在事件处理程序中以进行单击或双击...

DataView dv = (DataView)dataGridSearchOutput.DataSource;
DataRow selectedRow = dv.ToTable().Rows[dataGridSearchOutput.CurrentRowIndex];
long id = (long)selectedRow["ID"];

我认为最简单和有效的方法是将GridView属性DataKeyNames设置为ID,然后使用

int index = dataGridSearchOutput.SelectedIndex;
dataGridSearchOutput.DataKeys[index].Value.ToString()

或者您可以将其转换为对象。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM