sábado, 19 de enero de 2019

Filtra una vista de datos por la fecha actual (I)

Recientemente quería que en una vista de datos de SharePoint 2013 que ya tenía hecha con SharePoint Designer. Querían que filtrará por la fecha actual. Para ello bastaría con poner el filtro de la propia vista a la fecha actual:



Tras ello, me pidieron que existiera  un botón que les permitiera avanzar 7 días o retroceder 7 días.
Entonces, tuve que darle una vuelta al planteamiento.
Se me ocurrió cambiar el filtro de fecha actual por el de cadena de consulta en la URL:



Entonces para generar la fecha actual en la URL, tuve que incluir el siguiente código en el head, para evitar que se note la recarga:

<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
var direccion = window.location.href;
if( direccion.indexOf('date=') == -1){
var d = new Date();
var ano = d.getFullYear();
var mes = (d.getMonth()+1);
mes = ("0" + mes).slice(-2);
var dia = d.getDate();
dia = ("0" + dia).slice(-2);
window.location.href= direccion + '?date=' + ano + '-' + mes + '-' + dia;
}
</script>

Con esto conseguimos que la fecha actual este en la URL de la forma date=2019-01-19. Y conseguimos que la vista de datos nos muestre los elementos cuya fecha por la que filtramos coincida con el día actual.

No hay comentarios:

Publicar un comentario