private void Удалить_Click(object sender, RoutedEventArgs e) { if (!viewSource1.View.IsEmpty) { слеты delRow = viewSource1.View.CurrentItem as слеты; if (delRow != null) { Guid кодслеты = delRow.слет; //int всегоТуристов = de.туристы.Count(n => n.школа == кодслеты); //int всегоЭкипажей = de.экипажи.Count(n => n.школа == кодслеты); if (delRow.туристов == 0 && delRow.дистанций == 0) { de.слеты.Local.Remove(delRow); label1.Visibility = Visibility; } else { MessageBox.Show("Предварительно удалите туристов и дистанции слета"); } } } dataGrid1.Focus(); }
private void вНиз_Click(object sender, RoutedEventArgs e) { if (!viewSource1.View.IsEmpty) { слеты oldRow = viewSource1.View.CurrentItem as слеты; // int oldPor = oldRow.порядок; if (viewSource1.View.CurrentPosition < de.слеты.Local.Count - 1) { viewSource1.View.MoveCurrentToNext(); слеты lastRow = viewSource1.View.CurrentItem as слеты; //int lastPor = lastRow.порядок; //oldRow.порядок = lastPor; //lastRow.порядок = oldPor; (oldRow.порядок, lastRow.порядок) = (lastRow.порядок, oldRow.порядок); label1.Visibility = Visibility; dataGrid1.Items.Refresh(); dataGrid1.Items.SortDescriptions.Clear(); dataGrid1.Items.SortDescriptions.Add(new SortDescription("порядок", ListSortDirection.Ascending)); viewSource1.View.MoveCurrentToNext(); // viewSource1.View.Refresh(); } } dataGrid1.Focus(); }
private void новая_Click(object sender, RoutedEventArgs e) { int maxPor = 0; if (de.слеты.Local.Any()) { maxPor = de.слеты.Local.Max(n => n.порядок); } слеты newRow = new слеты { наимен = "Новая", порядок = maxPor + 1, слет = Guid.NewGuid(), дата_по = DateTime.Today, дата_с = DateTime.Today }; de.слеты.Local.Add(newRow); viewSource1.View.MoveCurrentTo(newRow); dataGrid1.Focus(); }