private void FingGroupText(string text) { if (panel2.Controls.Count > 0) { var panel = (GridPanel)panel2.Controls[0]; panel.GridSelectedChanged -= Panel_GroupSelectedChanged; try { GridPanelBuilder.FindText(panel, text); } finally { panel.GridSelectedChanged += Panel_GroupSelectedChanged; } } }
private void tbFind_TextChanged(object sender, EventArgs e) { foreach (var student in _root.Students.Where(x => x.FullName.StartsWith(tbFind.Text, StringComparison.CurrentCultureIgnoreCase))) { var speciality = _root.Specialities.FirstOrDefault(x => x.IdSpeciality == student.IdSpeciality); cbSpecialities.Items.Clear(); foreach (var item in _root.Specialities) { cbSpecialities.Items.Add(item); } cbSpecialities.SelectedItem = speciality; // получаем выбранную специальность speciality = (Speciality)cbSpecialities.SelectedItem; // получаем выбранную специализацию var specialization = _root.Specializations.FirstOrDefault(x => x.IdSpecialization == student.IdSpecialization); // очищаем список специализаций cbSpecializations.Items.Clear(); if (speciality == null) { return; } // заполняем список специализаций только для выбранной специальности foreach (var item in _root.Specializations.Where(x => x.IdSpeciality == speciality.IdSpeciality)) { cbSpecializations.Items.Add(item); } cbSpecializations.SelectedItem = specialization; cbSpecializations_SelectionChangeCommitted(cbSpecializations, new EventArgs()); if (panel3.Controls.Count > 0) { GridPanelBuilder.FindText((GridPanel)panel3.Controls[0], tbFind.Text); } break; } }
/// <summary> /// Обработчик изменения текста в строке поиска по фамилии /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tstbFind_TextChanged(object sender, EventArgs e) { // вызываем метод поиска по фамилии GridPanelBuilder.FindText(_panel, tstbFind.Text); }