//Фильтрация private void button4_Click(object sender, EventArgs e) { try { ListDogs dog = new ListDogs(); dg = (ListDogs)bindingSource1.DataSource; switch (comboBox1.Text) { case "Breed": dog.Dogs = (from x in dg.Dogs where x.Breed == textBox1.Text select x).ToList <Kinolog>(); break; case "Weight": dog.Dogs = (from x in dg.Dogs where x.Weight.ToString() == textBox1.Text select x).ToList <Kinolog>(); break; case "Height": dog.Dogs = (from x in dg.Dogs where x.Height.ToString() == textBox1.Text select x).ToList <Kinolog>(); break; case "Color": dog.Dogs = (from x in dg.Dogs where x.Color == textBox1.Text select x).ToList <Kinolog>(); break; case "Age": dog.Dogs = (from x in dg.Dogs where x.Age.ToString() == textBox1.Text select x).ToList <Kinolog>(); break; } bindingSource1.DataSource = dog; bindingSource1.MoveFirst(); dataGridView1.Refresh(); } catch { MessageBox.Show("Фильтрация не удалась!"); } }
//Сортировка private void button3_Click(object sender, EventArgs e) { ListDogs ddog = (ListDogs)bindingSource1.DataSource; int t = 1; if (radioButton1.Checked == true) { t = -1; } switch (comboBox1.Text) { case "Breed": ddog.Dogs.Sort((x, y) => t * (x.Breed.CompareTo(y.Breed))); break; case "Weight": ddog.Dogs.Sort((x, y) => t * (x.Weight.CompareTo(y.Weight))); break; case "Height": ddog.Dogs.Sort((x, y) => t * (x.Height.CompareTo(y.Height))); break; case "Color": ddog.Dogs.Sort((x, y) => t * (x.Color.CompareTo(y.Color))); break; case "Age": ddog.Dogs.Sort((x, y) => t * (x.Age.CompareTo(y.Age))); break; } bindingSource1.DataSource = ddog; bindingSource1.MoveFirst(); dataGridView1.DataSource = bindingSource1; dataGridView1.Refresh(); }