private void button4_Click(object sender, EventArgs e) { if (bindingSource1.Count > 0) { этапы oldRow = bindingSource1.Current as этапы; int oldIndex = bindingSource1.Position; int oldPor = oldRow.порядок; if (bindingSource1.Position > 0) { bindingSource1.MovePrevious(); этапы lastRow = bindingSource1.Current as этапы; int lastPor = lastRow.порядок; oldRow.порядок = lastPor; lastRow.порядок = oldPor; // этапы_деталейЛист.Sort((a, b) => a.порядок.CompareTo(b.порядок)); bindingSource1.Sort = "порядок"; dataGridView1.Refresh(); label1.Visible = true; } } dataGridView1.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 button6_Click(object sender, EventArgs e) { // дистанции oldДистанции = клДистанция.deRow; клДистанция.выбран = false; выбор_кода_дистанции выборДистанции = new выбор_кода_дистанции(); выборДистанции.ShowDialog(); if (клДистанция.выбран || выборДистанции.DialogResult == true) { Guid кодНов = (Guid)выборДистанции.Tag; string sqlString = "select наимен, судья, порядок from этапы where дистанция = @p0 order by порядок"; List <temp> tempList = de.Database.SqlQuery <temp>(sqlString, кодНов).ToList(); // Guid кодНов = dRow.дистанция; //востановление //клДистанция.deRow = oldДистанции; //клДистанция.дистанция = клДистанция.deRow.дистанция; //клДистанция.наимен = клДистанция.deRow.наимен; //клДистанция.вид = клДистанция.deRow.вид; этапыList.Clear(); // de.этапы.Local.Clear(); //de.SaveChanges(); //viewSource1.View.Refresh(); // var query = de.этапы.Where(n => n.дистанция == кодНов).OrderBy(n => n.порядок).ToList(); // тоже становятся локальными foreach (temp eRow in tempList) { этапы newRow = new этапы() { дистанция = клДистанция.дистанция, наимен = eRow.наимен, порядок = eRow.порядок, судья = eRow.судья, этап = Guid.NewGuid() }; этапыList.Add(newRow); // de.этапы.Local.Add(newRow); // bindingSource1.Add(newRow); // Console.WriteLine(newRow.наимен); } //de.SaveChanges(); //de.этапы.Where(n => n.дистанция == клДистанция.дистанция).OrderBy(n => n.порядок).Load(); //viewSource1.Source = de.этапы.Local.ToBindingList(); //dataGrid1.ItemsSource = viewSource1.View; label1.Visible = true; // viewSource1.View.Refresh(); // viewSource1.Source = null; //viewSource1.Source = de.этапы.Local.ToBindingList(); //dataGrid1.ItemsSource = viewSource1.View; // Close(); } }
private void button2_Click(object sender, EventArgs e) { if (bindingSource1.Count > 0) { этапы tRow = bindingSource1.Current as этапы; if (tRow.штрафы.Count == 0) { bindingSource1.RemoveCurrent(); } else { MessageBox.Show("Преварительно удалите штрафы этого этапа"); } } }
private void View_CurrentChanging(object sender, CurrentChangingEventArgs e) { var строка = viewSource1.View.CurrentItem; этапы eRow = viewSource1.View.CurrentItem as этапы; if (eRow != null) { if (String.IsNullOrWhiteSpace(eRow.наимен)) { MessageBox.Show("Наименование не может быть пустым//////////"); // e.Cancel = true; viewSource1.View.MoveCurrentTo(строка); viewSource1.View.Refresh(); } } }
private void button1_Click(object sender, EventArgs e) { int maxPor = 0; if (de.этапы.Local.Any()) { maxPor = de.этапы.Local.Max(n => n.порядок); } этапы newRow = new этапы() { дистанция = клДистанция.дистанция, наимен = "Новый этап", порядок = maxPor + 1, этап = Guid.NewGuid(), судья = "" }; int строка = bindingSource1.Add(newRow); bindingSource1.Position = строка; }
private void Удалить_Click(object sender, RoutedEventArgs e) { if (!viewSource1.View.IsEmpty) { этапы delRow = viewSource1.View.CurrentItem as этапы; if (delRow != null) { if (delRow.штрафов == 0) { de.этапы.Local.Remove(delRow); label1.Visibility = Visibility; } else { MessageBox.Show("Предварительно удалите штрафы этого этапа"); } } } dataGrid1.Focus(); }
private void новая_Click(object sender, RoutedEventArgs e) { int maxPor = 0; if (de.этапы.Local.Any()) { maxPor = de.этапы.Local.Max(n => n.порядок); } дистанции выбр_дист = de.дистанции.Single(n => n.дистанция == клДистанция.дистанция); этапы newRow = new этапы { наимен = "Новый", порядок = maxPor + 1, дистанция = клДистанция.дистанция, этап = Guid.NewGuid(), судья = "", дистанции = выбр_дист }; de.этапы.Local.Add(newRow); viewSource1.View.MoveCurrentTo(newRow); dataGrid1.Focus(); }