1

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

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

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

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

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

4

3 回答 3

0

我认为最简单的方法是将 GridView 属性 DataKeyNames 设置为 ID ,然后您可以轻松地使用 ID

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

或者你可以转换它,只要它是对象。

于 2010-02-14T22:31:18.323 回答
0

你可以尝试使用

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

看一下

编辑:

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

于 2010-02-14T14:59:58.703 回答
0

这行得通吗?将其放入单击或双击的事件处理程序中...

DataView dv = (DataView)dataGridSearchOutput.DataSource;
DataRow selectedRow = dv.ToTable().Rows[dataGridSearchOutput.CurrentRowIndex];
long id = (long)selectedRow["ID"];
于 2010-02-14T22:10:58.547 回答