Beruflich Dokumente
Kultur Dokumente
Partiendo del proyecto que desarrollamos en el ltimo post de la serie vamos a ver cmo
podemos aadir al grid un par de criterios de bsqueda, de forma que el resultado luzca
tal que as:
1. La vista
De esta forma podemos propagar muy fcilmente el valor de los controles (textbox)
entre las llamadas:
2. El Controlador
Dado que ahora necesitar tambin obtener los criterios de ordenacin, debemos
ampliar su definicin aadiendo parmetros para estos valores:
Observad que son todos parmetros opcionales, y los establecemos a nulo para detectar
fcilmente cundo nos vienen rellenos.
en la llamada que hacemos al Modelo para contar el total de filas del grid, a la
que tendremos que informar sobre los criterios de filtrado para que el conteo se
realice correctamente.
en la llamada que hacemos al Modelo para obtener las filas a mostrar en la
pgina actual, donde obviamente tambin deberemos tener en cuenta los filtros.
return View(datos);
}
3. El Modelo
Y por ltimo, ya en el Modelo, debemos hacer que los mtodos utilizados desde el
controlador (ContarPersonas y ObtenerPaginaDePersonasFiltrada) tengan en
cuenta los parmetros en los que indicamos las condiciones de bsqueda.
Por ltimo, implementamos el mtodo que obtiene los datos a mostrar en la pgina
actual:
// Generamos la consulta
var query = (IQueryable<Persona>) _datos.Personas
.OrderBy("it." + columnaOrdenacion + " " +
sentidoOrdenacion);
Hay poco que comentar sobre este cdigo. En primer lugar se realiza una comprobacin
bsica de los parmetros de entrada, para a continuacin generar la consulta que se
realizar sobre la base de datos. Como podis observar, tambin se utiliza el mtodo
queryPersonasFiltrada() para aplicar los criterios de consulta.