2010-02-14 39 views
1

我正在将数据库查询的输出加载到DataGrid中。在C中访问Datagrid中的属性#

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

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

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

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

回答

0

这项工作?把它在点击或双击该事件处理程序...

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

我认为最简单,投注方法设置GridView控件属性的DataKeyNames到ID,然后你可以很容易地使用

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

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