private void toolStripTextBoxSearch_KeyUp(object sender, KeyEventArgs e) { int posicion = 0; ProveedorFilter Filtro = new ProveedorFilter(this.toolStripTextBoxSearch.Text.Trim(), 3); Predicate <ClsProveedor> Filtrado = new Predicate <ClsProveedor>(Filtro.BuscaAll); posicion = ListProveedor.FindIndex(Filtrado); if (posicion == 0) { this.clsProveedorBindingSource.Position = 0; } else { this.clsProveedorBindingSource.Position = posicion; } }
public ProveedoresDataTableSpec(ProveedorFilter filter) { if (filter.IsPagingEnabled) { Query.Skip(PaginationHelper.CalculateSkip(filter)) .Take(PaginationHelper.CalculateTake(filter)); } if (!string.IsNullOrEmpty(filter.SortColumn) && !string.IsNullOrEmpty(filter.SortColumnDirection)) { if (filter.SortColumnDirection == "desc") { switch (filter.SortColumn) { case "Id": Query.OrderByDescending(p => p.Id); break; case "Nombre": Query.OrderByDescending(p => p.Nombre); break; case "Documento": Query.OrderByDescending(p => p.Documento); break; case "Telefono": Query.OrderByDescending(p => p.Telefono); break; case "Correo": Query.OrderByDescending(p => p.Correo); break; default: Query.OrderByDescending(p => p.Nombre); break; } } else { switch (filter.SortColumn) { case "Id": Query.OrderBy(p => p.Id); break; case "Nombre": Query.OrderBy(p => p.Nombre); break; case "Documento": Query.OrderBy(p => p.Documento); break; case "Telefono": Query.OrderBy(p => p.Telefono); break; case "Correo": Query.OrderBy(p => p.Correo); break; default: Query.OrderBy(p => p.Nombre); break; } } } if (!string.IsNullOrEmpty(filter.SearchValue)) { Query.Where(p => p.Nombre.Contains(filter.SearchValue) || p.Documento.Contains(filter.SearchValue) || p.Telefono.Contains(filter.SearchValue) || p.Contacto.Contains(filter.SearchValue) || p.TelefonoContacto.Contains(filter.SearchValue)); } }