Customizzare il form di edit di una lista SharePoint 2010 con InfoPath
Tramite InfoPath FormServer 2010 compreso nella versione Enterprise di SharePoint 2010 (vedi Confronto tra le versioni di SharePoint 2010) è possibile customizzare il form di edit di una qualsiasi lista o document library.
Per far questo seleziona List Tools / List e poi clicca su Customize Formsi apre Microsoft InfoPath Designer 2010 con un form identico a quello della lista.
Qui si può vedere come appare e iniziare la customizzazioneCome esempio modificherò il caricamento della DropDownList di Lookup per fare in modo che venga caricato un set di dati filtrato.
Per la precisione la il campo lookup punta ad una lista, Province, con i campi: Provincia (Title), CodProvincia e CodRegione.
La DropDownList andrò a filtrarla per CodRegione = 'LOM'
Di default la DropDownList ha un datasource che punta alla lista Province e recupera tutti gli elementi in binding con la DropDownList.Premi Add... in modo di aggiungere una nuova data connection di tipo Receive dataimposta il tipo REST Web Servicequesto mi permette di interrogare il servizio ListData.svc con una url tipo questa
http://<nomeServer>/_vti_bin/ListData.svc/<nomeLista>?$filter=<condizioniFiltro>
di avere il contenuto della lista in un formato xml filtrato e ordinato secondo i parametri in query string.
Quindi la url per il data suorce è:
http://intranet/_vti_bin/listdata.svc/Province? $filter=CodRegione eq 'LOM'&$orderby=Provincia
assegna un nome alla data connection e premi Finishla data connection è disponibileper utilizzare la nuova connesione, click destro sulla DropDownListnella finestra che si apre seleziona la nuova connessioneclicca sul pulsante indicato dalla freccia rossa per selezionare il nodo entry (xpath /ns2:feed/ns2:entry)fai lo stesso con gli altri due pulsanti per selezionare il Value (xpath ns2:content/m:properties/ns1:Id) e il Display Name (xpath ns2:content/m:properties/ns1:Provincia)premi OK, salva e pubblica il form.Nella lista di SharePoint premi Add new item. Questo è come appare il form InfoPath customizzatoSemplice no?
Ovviamente grazie a InfoPath posso superare i limiti delle form standard di SharePoint e:
Per far questo seleziona List Tools / List e poi clicca su Customize Formsi apre Microsoft InfoPath Designer 2010 con un form identico a quello della lista.
Qui si può vedere come appare e iniziare la customizzazioneCome esempio modificherò il caricamento della DropDownList di Lookup per fare in modo che venga caricato un set di dati filtrato.
Per la precisione la il campo lookup punta ad una lista, Province, con i campi: Provincia (Title), CodProvincia e CodRegione.
La DropDownList andrò a filtrarla per CodRegione = 'LOM'
Di default la DropDownList ha un datasource che punta alla lista Province e recupera tutti gli elementi in binding con la DropDownList.Premi Add... in modo di aggiungere una nuova data connection di tipo Receive dataimposta il tipo REST Web Servicequesto mi permette di interrogare il servizio ListData.svc con una url tipo questa
http://<nomeServer>/_vti_bin/ListData.svc/<nomeLista>?$filter=<condizioniFiltro>
di avere il contenuto della lista in un formato xml filtrato e ordinato secondo i parametri in query string.
Quindi la url per il data suorce è:
http://intranet/_vti_bin/listdata.svc/Province? $filter=CodRegione eq 'LOM'&$orderby=Provincia
assegna un nome alla data connection e premi Finishla data connection è disponibileper utilizzare la nuova connesione, click destro sulla DropDownListnella finestra che si apre seleziona la nuova connessioneclicca sul pulsante indicato dalla freccia rossa per selezionare il nodo entry (xpath /ns2:feed/ns2:entry)fai lo stesso con gli altri due pulsanti per selezionare il Value (xpath ns2:content/m:properties/ns1:Id) e il Display Name (xpath ns2:content/m:properties/ns1:Provincia)premi OK, salva e pubblica il form.Nella lista di SharePoint premi Add new item. Questo è come appare il form InfoPath customizzatoSemplice no?
Ovviamente grazie a InfoPath posso superare i limiti delle form standard di SharePoint e:
- creare delle regole di validazione più complesse
- condizionare la validità di un campo in base ai valori inseriti in più campi
- condizionare la visibilità o meno di un campo
- creare delle DropDownList in cascata
- aggiungere altre connessione e recuperare i dati da più fonti
- raggruppare i campi logicamente assegnandogli una grafica diversa
- inserire delle immagini
- ecc..