从System.Data.Common.DataRecordInternal中检索值
本文关键字:检索 DataRecordInternal Common System Data | 更新日期: 2023-09-27 18:08:19
我希望检索绑定到sqlexecute查询的数据网格的值。
defects.DefectsDataGrid.DataContext = searchQuery.ExecuteReader();
然后,我使用SelectedCellsChanged事件与选定的DataGridRow做一些事情。
当我放入一个断点时,我可以看到System.Data.Common.DataRecordInternal> Non-public Members> _Values下面的值。但是我不确定如何引用_Values。
一如既往地感谢您的帮助。
代码 private void DefectsDataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
//Retrieve selected row
var rows = DefectsDataGrid.SelectedItems;
//This tells me I have one row, which is of type System.Data.Common.DataRecordInternal
//How do I retrieve the values from this type?
}
看起来您需要使用DataReader
将您的记录转换为IDataRecord
。
查看答案:https://stackoverflow.com/a/6034408/414314
defects.DefectsDataGrid.DataContext = searchQuery.ExecuteReader();
我将上面的更改为以下内容,这给了我一个数据类型DataRowView而不是DataRecordInternal
defects.DefectsDataGrid.ItemsSource = DataTable.DefaultView;
这使我可以很容易地在事件中引用行。
private void DefectsDataGrid_SelectedCellsChanged(object sender, SelectedCellsChangedEventArgs e)
{
//Retrieve selected value from the row selected
DataRowView dataRow = (DataRowView)DefectsDataGrid.SelectedItem;
string phrase = dataRow[2];
}