Il blog di Giuseppe Marchi - SharePoint MVP
NAVIGATION - SEARCH

Come far funzionare i filtri sulle liste tramite URL in SharePoint 2013

Per chi di voi ha già installato la nuova versione del prodotto, provate ad eseguire queste operazioni:
  1. Create una nuova lista semplice (io l'ho chiamata "Categorie") e metteteci dentro 3 elementi
  2. Create una seconda nuova lista semplice (io l'ho chiamata "Fatture"), create un nuovo campo lookup sulla lista appena creata (la lista "Categorie") ed inserite qualche elemento dentro questa lista, specificando sempre un valore nel campo di lookup

Ok, provate ora a filtrare la lista di fatture inserendo nella URL le seguenti querystring:

/Lists/Fatture/AllItems.aspx?FilterField1=Categoria&FilterValue1=Due

Dove "Categoria" è il nome del campo lookup che avete creato prima e "Due" uno dei valori possibili da attribuire a quel campo.
Quello che succede è che SharePoint filtra la lista al caricamento della pagina in base al contenuto della querystring. Questa funzionalità è così da un sacco di versioni addietro e molto spesso risulta veramente utile, anche all'interno di applicazioni custom.
Inoltre, la stessa funzionalità è utilizzata anche dalla "QueryString Filter Web Part".
Se però provate a cambiare filtro o resettarlo, vi accorgerete che tali operazioni non sono più disponibili. Cioè non funzionano proprio.

Come far funzionare i filtri sulle liste tramite URL in SharePoint 2013

Come potete vedere dall'immagine, nonostante io abbia tolto il filtro continuo a vedere solamente gli elementi filtrati inizialmente.
Questo perché le web part di lista (rappresentate dalla web part XsltListViewWebPart) in SharePoint 2013 sono state modificate per renderizzare le liste in maniera differente, inserendo nel giro anche molto rendering JavaScript. Questa funzionalità (di cui parleremo in uno dei prossimi post) ci permette grandi spazi di customizzazione, perché con JavaScript abbiamo sicuramente più potenza che con XSLT (per esempio), ma non permette più l'utilizzo del filtro via querystring che magari utilizziamo per alcune delle applicazioni che stiamo portando da SharePoint 2010 a SharePoint 2013.
Per fortuna però, c’è modo di tornare indietro. Tornare cioè al funzionamento che avevamo in SharePoint 2010, modificando le proprietà dalla web part e flaggando l'opzione "Server Render" presente all'interno della categoria "Miscellaneous".

Come far funzionare i filtri sulle liste tramite URL in SharePoint 2013

In questo modo il filtro via querystring continuerà a funzionare come ha sempre fatto.
blog comments powered by Disqus