/// <summary> /// Обработчик события нажатия клавиши мыши на элемент главного меню, /// который открывает диалоговое окно для задания условия поиска конфигурации хранилища данных /// </summary> private void поискToolStripMenuItem1_Click(object sender, EventArgs e) { if (SansInfoMain != null && SansInfoMain.Count > 0) { var sansCondition = new SAN_ConditionConstructorForm(SansInfoMain); if (sansCondition.ShowDialog() == DialogResult.OK) { int pos = 0; if (!_sansSelected) { pos = SansInfoMain.IndexOf(sansCondition.SansInfoToShow.First()); } else { pos = SansInfoToShow.IndexOf(sansCondition.SansInfoToShow.First()); } if (pos > -1) { sANInfoBindingSource.Position = pos; } } } else { MessageBox.Show("Отсутсвуют конфигурации хранилищ данных для совершения поиска!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Выполнение отбора конфигураций хранилищ данных по условию /// </summary> private int RunSelection() { List <SAN_Info> selectedSan = null; try { if (SelectedManufacturer != null && comboBox2.SelectedIndex > -1) { selectedSan = SansInfoMain.Where(si => si.Manufacturer.Equals(SelectedManufacturer.Name) && si.Model.Equals(comboBox2.Items[comboBox2.SelectedIndex])) .ToList(); } else if (SelectedManufacturer != null) { selectedSan = SansInfoMain.Where(si => si.Manufacturer.Equals(SelectedManufacturer.Name)).ToList(); } else if (comboBox2.SelectedIndex > -1) { selectedSan = SansInfoMain.Where(si => si.Model.Equals(comboBox2.Items[comboBox2.SelectedIndex])).ToList(); } else { selectedSan = SansInfoMain.ToList(); } SansInfoToShow = new BindingList <SAN_Info>(selectedSan); return(SansInfoToShow.Count); } catch { SansInfoToShow = null; return(0); } }
/// <summary> /// Инициализация привязок /// </summary> private void InitBindings() { manufacturerBindingSource.DataSource = _ctx.GetManufacturers(); comboBox2.Items.AddRange(SansInfoMain.Select(x => x.Model).Distinct().ToArray()); }