Я ищу для получения значений datagrid, связанных с запросом sqlexecute.
defects.DefectsDataGrid.DataContext = searchQuery.ExecuteReader();
Затем я использую событие SelectedCellsChanged, чтобы что-то сделать с выбранным DataGridRow.
Когда я помещаю точку останова, я могу видеть значения ниже System.Data.Common.DataRecordInternal> Непубличные участники> _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?
}
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];
}
Похоже, вам нужно использовать DataReader
для записи ваших записей в IDataRecord
.
См. Этот ответ: qaru.site/questions/1948707/...