Добрый день.
Как собственно получить значение из datagrid? Я хочу взять Id из выделенной строки и присвоить его переменной типа int, чтобы затем передать его в запрос для удаления. В базе Id также типа int. Само задание - создать что-то вроде домашней библиотеки, так что datagrid отображает книги.
private void ButtonDeleteBook_Click(object sender, RoutedEventArgs e)
{
HomeLibraryDatabaseEntities context = new HomeLibraryDatabaseEntities();
try
{
int selectedId = ((Book)BookDG.SelectedItem).IdBook;
Book selectedBook = context.Book.Where(o => o.IdBook == selectedId ).Select(o => o).First();
context.Book.Remove(selectedBook);
context.SaveChanges();
MessageBox.Show("Объект успешно удален");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Book - это таблица в БД, а BookGD - datagrid, который отображает книги из таблицы Book. HomeLibraryDatabase - собственно название базы.
При выделении строки и нажатии кнопки "Удаление" выходит ошибка Unable to cast object of type 'System.Data.DataRowView' to type 'HomeLibrary.Book'.