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 Form
Customize Form
Customize Form
si apre Microsoft InfoPath Designer 2010 con un form identico a quello della lista.
Qui si può vedere come appare e iniziare la customizzazione
InfoPath Form
InfoPath Form
Come 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.
Data Connection
Data Connection
Premi Add... in modo di aggiungere una nuova data connection di tipo Receive data
Receive
Receive
imposta il tipo REST Web Service
REST WebService
REST WebService
questo 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
REST Url
REST Url
assegna un nome alla data connection e premi Finish
Finish
Finish
la data connection è disponibile
Data Connection
Data Connection
per utilizzare la nuova connesione, click destro sulla DropDownList
Properties
Properties
nella finestra che si apre seleziona la nuova connessione
Connection
Connection
clicca sul pulsante indicato dalla freccia rossa per selezionare il nodo entry (xpath /ns2:feed/ns2:entry)
Entity
Entity
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)
DisplayName
DisplayName
premi OK, salva e pubblica il form.
Publish
Publish
Nella lista di SharePoint premi Add new item. Questo è come appare il form InfoPath customizzato
Result
Result
Semplice 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..
Tags:
InfoPath9 SharePoint498 SharePoint 2010224
Potrebbe interessarti anche: