……Marco Valli's Blog……

Internet, Tecnologia e SharePoint!!!

Visualizzare correttamente i numeri in una dataview


Utilizzando SharePoint Designer 2007, ho riscontrato spesso un problema abbastanza fastidioso: creando una dataview da una lista, i campi numerici con decimali, se visualizzati effettivamente come campo numerico (o percentuale o valuta) e non come testo (o etichetta), restituiscono un sinistro NaN (Not a Number)…

Il problema è dovuto sostanzialmente alla conversione del numero dal formato inglese a quello italiano: il portale infatti visualizza il numero con le impostazioni internazionali impostate ma il dato viene memorizzato in formato inglese.. Creando una dataview la visualizzazione viene gestita dal codice della visualizzazione dati stessa che, di default, fallisce..

Questo infatti è il codice viualizzato da una dataview impostata di default sul campo standard di una lista attività % completamento:

<xsl:value-of select="format-number(@PercentComplete, ‘#.##0,%;-#.##0,%’, ‘lcid1040’)"/>

risultato su valori percentuali diversi da 0% e 100% = NaN

image

E’ sufficiente però modificare il codice in questo modo per “tradurre” corretamente il formato del numero:

<xsl:value-of select="format-number(translate(@PercentComplete,’,’,’.’), ‘#.##0,%;-#.##0,%’, ‘lcid1040’)"/>

image

In SharePoint 2010 il problema non si presenta perchè gli sviluppatori hanno fatto sì che il sistema generi automaticamente 2 campi per ogni metadato di tipo numerico: uno in cui c’è il valore da mostrare con le impostazioni regionali selezionate e nell’altro il valore senza pre-impostazioni per permettere un semplice utilizzo del valore del campo senza problemi di “traduzione”…

Enjoy! 🙂

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...

%d blogger hanno fatto clic su Mi Piace per questo: