protected override bool DoSearch() { bool promo = false; PromocionList sublist = null; if (_lista == null) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } FCriteria criteria = null; foreach (Control ctl in this.Campos_Groupbox.Controls) { if (((System.Windows.Forms.RadioButton)ctl).Checked) { switch (ctl.Name) { case "Nombre_RB": { criteria = new FCriteria <string>("Nombre", Valor_TB.Text); break; } case "Apellidos_RB": { criteria = new FCriteria <string>("Apellidos", Valor_TB.Text); break; } case "Promocion_RB": { CriteriaEx criteriaex = Promocion.GetCriteria(Promocion.OpenSession()); criteriaex.AddContains("Nombre", Valor_TB.Text); sublist = PromocionList.GetList(criteriaex); // No existe el plan if (sublist.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } promo = true; break; } } } } // Consulta en la bd SortedBindingList <AlumnoInfo> lista; if (SortProperty != string.Empty) { if (!promo) { lista = _lista.GetSortedSubList(criteria, SortProperty, SortDirection); } else { AlumnoList list = AlumnoList.GetList(AlumnoList.GetFilteredList(_lista, sublist, "OidPromocion")); lista = list.ToSortedList(SortProperty, SortDirection); } } else { lista = _lista.GetSortedSubList(criteria, "Oid", SortDirection); } Datos.DataSource = lista; if (lista.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } Datos.MoveFirst(); return(true); }