giovedì 31 gennaio 2013

Tutorial Reporting Services 2012 parte 11 utilizzo di librerie (dll) in C#

Riporto l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/tutorial-reporting-services-2012/art_utilizzo-di-dll-in-c-_1250.aspx
Introduzione

In questa undicesima parte, continua il tema trattato nell’articolo precedente, vediamo come creare un componente assembly o meglio una dll, che possiamo utilizzare in reporting services 2012.
Vedremo come creare un metodo, in una determinata classe che utilizzata da reporting services ci permette di estendere le funzionalità già presenti in questo sistema.
Come visto nell’articolo precedente, la flessibilità di Reporting Services è abbastanza potente, e nel precedente articolo si era visto come creando una funzione nella sezione “Code” si possa estendere le numerose funzioni che già il sistema offre.
Apriamo il report del precedente articolo ed in esso lavoreremo per vedere come utilizzare i componenti.

Creazione del progetto

Aggiungiamo alla soluzione del nostro progetto un nuovo progetto, questa volta utilizzeremo il linguaggio di programmazione C#
Dalla finestra “Esplora Soluzioni” facciamo click con il tasto destro sul nome della soluzione e dal menu che viene visualizzato selezioniamo la voce di menu “Aggiungi”  e nel sottomenu che viene visualizzato selezioniamo la voce “Nuovo progetto…” .
Nella finestra che viene visualizzata (figura 1) selezionare nella parte sinistra, il linguaggio di programmazione C# e tra i vari modelli installati, selezionare la categoria “Windows” al centro troviamo i vari modelli di progetti tra quelli la voce “Libreria di classi” ci permette di creare il componente.


Figura 1 – la scelta del modello

Impostiamo il nome ed il percorso del progetto, per esempio nel nostro caso è stato impostato come nome “ComponenteRS”.
Confermiamo il tutto tramite il pulsante “OK”.
Verrà creato un file di nome class1, rinominiamolo in Componente ed anche la classe rinominiamo con tale nome.
Quindi il nome del file ed il nome della classe sarà “Componente”.
Nella classe dobbiamo scrivere un metodo statico, che, come visto nel precedente articolo, converte il testo passato in tutto maiuscolo.
Qui di seguito riportiamo tutto il codice completo.


using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ComponenteRS
{
    public class Componente
    {
        public static string Maiuscole(string testo)
        {
            return testo.ToUpper();
       
        }
    }
}



Come si vede dal codice precedente, la classe “Componente” contiene un metodo “Maiuscole” che accetta un parametro e restituisce il testo tutto in maiscuolo.
Notiamo anche il nome dello spazio dei nomi, ossia nel namespace, che è il nome del progetto che in precedenza abbiamo assegnato.
Ora non ci resta che compilare la libreria, tramite il tasto destro sul nome del progetto, selezioniamo dal menu di scelta rapida che viene visualizzato e selezioniamo la voce “Compila”. 

Configurazione di Reporting Services

Abbiamo terminata la creazione della libreria ora dobbiamo configurare il nostro report alla gestione di questo componente.
Sempre nella finestra “Esplora soluzione” facciamo click con il pulsante destro del mouse sul nome del progetto, e tra le varie voci, selezioniamo quella relativa “Apri cartella in Esplora risorse”.
Verrà aperta una finestra di esplora risorse, tra la cartelle presenti, troviamo quella con il nome “Bin”, facciamo doppio click in modo di aprirla, e troviamo altra cartella, con il nome “Debug “ (potremmo trovare realese in base a come abbiamo compilato il nostro progetto).
Anche in essa facciamo doppio click in modo che si apre.
Ora dobbiamo copiare tale componente nella cartella di reporting serviecs, ed in particolare in “PrivateAssemblies”.
Nel nostro caso è qui .
“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies”
Ma il percorso potrebbe cambiare da pc a pc
In questa cartella si trovano i vari componenti che utilizza reporting services, tra cui il nostro.
Si apre il report che stiamo utilizzando per le nostre prove, sempre nel bordo del report, facciamo click con il tasto destro e nel menu che viene visualizzato, selezionare la voce “Proprietà report” come già illustrato.
Nella finestra che viene aperta (figura 2) selezionare la voce di menu “Riferimenti” posta sulla sinistra.
Questa voce ci permette di selezionare il componente ed aggiungerlo al nostro report.


Figura 2 – La finestra per l’inserimento del componente.

Tramite il pulsante “Aggiungi”, viene aggiunta una riga bianca, nella parte destra, si trova un pulsante con tre puntini “…” .
Facciamo click su tale pulsante (figura 3) in modo che ci apre una finestra, nella quale possiamo selezionare il componente appena creato.



Figura 3 – la finestra per la selezione del componente.

Il file da trovare è quello che si trova nella cartella del progetto relativo alla DLL, quindi è quello che possiamo rilevare nel fare apri cartella in esplora risorse sul nome del progetto dll dalla finestra “Esplora soluzione.
Selezioniamo il nostro file, che nel nostro caso si chiamerà “ComponeneteRS.dll” e confermiamo il tutto tramite il pulsante “OK”.
Nella finestra precedente verrà visualizzata tale casella di testo, con le informazioni relativi all’assembly, il tutto come mostrato in figura 4.


Figura 4 – le informazioni relative al componente.

Confermiamo il tutto tramite il pulsante “OK”.
Nella casella di testo che abbiamo utilizzato nel precedente articolo  per vedere alcune formule, impostiamo la formula.
Selezioniamo la casella di testo, e tramite il tasto destro del mouse, selezioniamo la voce “Espressione…”.
Nella finestra che viene aperta, scriviamo la formula per utilizzare tale componente.
Nell’area in alta, quella relativa alla formula scriviamo
=ComponenteRS.Componente.Maiuscole("prova")

Il tutto come mostrato in figura 5.



Figura 5 – la formula per utilizzare il componente appena creato

Analiziamo la formula
La parola ComponenteRS, è il nome della dll o meglio lo spazio dei nomi, poi seguito dal punto e subito dopo il nome della classe seguito da un punto, con il nome del metodo.
Tra parentesi tonde il testo da convertire in maiscuole.
Ora non ci resta che testare, confermate il tutto tramite il pulsante ok, ed in anteprima, vedrete il risultato.

Conclusioni.

Questa parte, che riprende l’articolo precedente, ha fornito al lettore una tecnica per aggiungere a Reporting Services nuove funzionalità anche di una certa complessità visto l’utilizzo di componente come librerie.
Parte 1 http://emanuelemattei.blogspot.it/2012/09/tutorial-reporting-services-2012.html

Parte 2 http://emanuelemattei.blogspot.it/2012/12/tutorial-reporting-services-di-sql.html
Parte 3 http://emanuelemattei.blogspot.it/2012/12/tutorial-reporting-services-2012-parte.html
Parte 4 http://emanuelemattei.blogspot.it/2012/12/tutorial-reporting-services-2012-le.html
Parte 5 http://emanuelemattei.blogspot.it/2012/12/tutorial-reporting-services-2012-parte_20.html
Parte 6 http://emanuelemattei.blogspot.it/2012/12/tutorial-reporting-services-parte-6-la.html
Parte 7 http://emanuelemattei.blogspot.it/2013/01/tutorial-reporting-services-parte-7-la.html
Parte 8 http://emanuelemattei.blogspot.it/2013/01/tutorial-reporting-services-2012-parte.html
Parte 9 http://emanuelemattei.blogspot.it/2013/01/tutorial-reporting-services-2012-parte_16.html
Parte 10 http://emanuelemattei.blogspot.it/2013/01/tutorial-reporting-services-2012-parte_24.html

Nessun commento: