public void UpdateGrid(int selectID) { HelperClass.SaveSortDataGrid(dg); if (selectID == -1) { selectID = (int)(dg?.SelectedValue ?? -1); } using (HOSTELEntities h = new HOSTELEntities()) { h.Posts.Load(); var postDB = from i in h.Posts.Local select new { id = i.PostID, post = i.Post }; dg.SelectedValuePath = "id"; dg.ItemsSource = postDB; } dg.SelectedValue = selectID; if (dg.SelectedIndex > -1) { dg.ScrollIntoView(dg.SelectedItem); } else if (dg.SelectedIndex == -1 && dg.Items.Count > 0) { dg.SelectedIndex = 0; } HelperClass.LoadSortDataGrid(dg); }
private void Delete_Click(object sender, RoutedEventArgs e) { if (dg.SelectedIndex > -1) { if (MessageBoxResult.Yes == MessageBox.Show("Вы уверены, что хотите удалить запись?", "Удаление записи", MessageBoxButton.YesNo, MessageBoxImage.Question)) { using (HOSTELEntities DB = new HOSTELEntities()) { try { DB.Posts.Remove(DB.Posts.Find(dg.SelectedValue)); DB.SaveChanges(); } catch { MessageBox.Show($"Ошибка при удалении \n Возможно в других таблицах есть ссылки на эту запись"); return; } } UpdateGrid(); } } else { MessageBox.Show("Не выбрано поле!"); } }