protected override bool DoFilter() { 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 proveedor if (sublist.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } promo = true; break; } } } } // Consulta en la bd AlumnoList lista = null; if (!promo) { lista = AlumnoList.GetList(_lista.GetSubList(criteria)); } else { lista = AlumnoList.GetList(AlumnoList.GetFilteredList(_lista, sublist, "OidPromocion")); } Datos.DataSource = lista; if (lista.Count == 0) { MessageBox.Show(Resources.Messages.NO_RESULTS); return(false); } Datos.MoveFirst(); _filtered_list = lista; return(true); }