Ancora sulla localizzazione in Reporting Services

martedì 30 gennaio 2007 - 10.00

volperubbia Profilo | Senior Member

Ciao a tutti,
per localizzare un report (titolo, intestazioni colonne ...) in crystal reports usavo i files delle risorse del progetto e poi passavo al report una serie di parametri con i valori nella lingua corrente.
In questi giorni sto iniziando a lavorare con reporting services (2005), e mi chiedevo quale sia la soluzione più pulita per ottenere lo stesso risultato.

Qualche idea?
Grazie per l'attenzione, Davide

freeteo Profilo | Guru

ciao,
ho temporeggiato 1po in questa risposta perche' volevo riuscire a fare qualcosa di elegante da darti, ma purtroppo ancora non sono riuscito.
Ti spiego la mia idea:

Nei report i SqlREporting c'e' una bella cosa che è il codice libero, lo trovi sotto:
Report->reportProperties->Code

li dentro pensavo di scrivere una funzione in vb.net (purtroppo non c'e' l'intellisense ma puoi fartelo con visual studio e poi copiare li dentro) che si preoccupi di fare il caricamento del file in lingua che ti interessa e che riceva come parametro la chiave da visualizzare.
Ad esempio :
Public Shared Function MiaFunzioneCarica(lingua as String, chiave as String) as String .... return .... end function
Un po quello che fai con asp.net quando usi " <%# Resources.miofile.miachiave %>".
In SqlReporting sarebbe da usare la proprieta' "User!Language" che ti da la lingua corrente, e nei campi che interessa tradurre potevi scrivere com expression:
=MiaFunzioneCarica(miachiave", User!Language)
dentro li usavi un "ResourceManager" etc...
Quindi la soluzione sarebbe stata elegante.

Purtroppo pero' non ci sono riuscito perche' non riesco a caricare da codice il file delle risorse relativo al Thread chiamante, quindi non posso usare un codice "neutro" per qualsiasi applicazione, quindi mi sono 1po arenato...
cmq te la suggerisco come strada, se vuoi approfondire e riesci magari fammelo sapere

Altrimenti, usando sempre qeusta idea della funzione quella proprieta' nei campi che ti interessano puoi fare un case delle varie lingue e caricare "stringa" i valori...pero' saresti meno "neutro" ovviamente...
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

volperubbia Profilo | Senior Member

Grazie Matteo,
è solo da qualche giorno che lavoro su reporting services e forse ragiono ancora da sviluppatore crystal reports. Me la devo studiare ... per ora ho optato per CASE dove servono, ma non sono entusiasta, più avanti cercherò di trovare qualcosa di più furbo. Ti faccio sapere ...

Davide

freeteo Profilo | Guru

ciao,
concordo con te, io ho usato molto Crystal e mi sono trovato bene, pero' mi piace molto ReportingServices perche' li trovi piu' snelli e molto agili.
Purtroppo pero' peccano ancora di gioventu' a mio avviso...ma sono molto fiducioso
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5