Database e Software, sviluppo in parallelo o prima uno poi l' altro?


Ho creato la discussione su GUISA e mi piacerebbe sentire l' opinione di ognuno di voi.

In riferimento al mio post di ieri.

http://www.guisa.org/forums/1989/ShowThread.aspx#1989

author: Raffaeu | posted @ martedì 19 agosto 2008 12.18 | Feedback (0)

Comanda il Database o il Codice?


Questo Venerdi' ho avuto una piacevole discussione con uno sviluppatore; la voglio condividere con voi.

Con l' avvento degli ORM e dello sviluppo Domain Driven stiamo lasciando da parte una delle componenti piu' importanti del software. Il contenitore dei dati, il Database.

Vedo sempre piu' Database modellati in maniera errata, solo perche' molti compiti adesso vengono associati al codice. Ma ci stiamo dimenticando perche'  usiamo un database e non un semplice file di testo per memorizzare i dati. Vi elenco alcune regole che dovrebbero essere un MUST nella modellazione di un buon database e che spesso vengono prese sottogamba solo perche' l' ORM ci facilita il compito.

  1. La chiave primaria e l' indice cluster sono la stessa cosa? No la chiave primaria è un vincolo che  da univocità nella tabella - un indice clustered è un struttura ad albero che ordina i dati della tabella nelle pagine di dati. Fare una query con un 100% nel full index scan significa che la query e idem la tabella, non stanno sfruttando gli indici. NHibernate le SELECT le fa in questo modo se non usate una query ad HOC e se lasciate che le primary key e l' index clustered siano la stessa cosa. Consiglio questo articolo di Davide Mauri a riguardo.
  2. Creare un ID univoco di una riga tramite un GUID. Cosa stiamo facendo assegnamo al Database una colonna univoca che occupa la bellezza di 16 bit ed e' una string al posto di un autoincrement int che ne occuperebbe solamente 4!! Perche'? Quale sarebbe lo scopo di una tale progettazione? Sempre Davide qui spiega perche' non va usato il GUID come unique identifier.
  3. Le foreign key possono tranquillamente essere gestite dall' ORM o dal Domain Model. Cosa? Assolutamente no. L' integrita' e' un compito del Database e non del programmatore. In questo articolo trovate una valida spiegazione degli errori che potremmo avere se non implementiamo delle foreign key.
  4. Fare le select tramite l' ORM e non usare delle Stored Procedure. Questo mi sembra solo una non-voglia di scrivere codice T-SQL. In SQL 2005 le stored procedure ed il loro execution plan vengono cachati nel database, questo significa che se a priori progetto una Stored Procedure che ottimizza il piano di esecuzione e sfrutta gli indici presenti, sicuramente il carico di lavoro nel DBMS sara' minore. Se lanciate una select prodotta da Nhb in SQL, l' 80% sono dei Full Scan, quindi sono delle SELECT che NON sfruttano un bel niente.

E come queste cose molte altre, come il discorso della denormalizzazione prodotta dal Domain Driven, che sconsiglia l' utilizzo di un many-to-many.

Sono pentito di aver studiato fino ad oggi, codice, pattern e metodologie e adesso che sto approfondendo nel dettaglio la modellazione dei database, mi accorgo che forse il passo dovrebbe essere fatto al contrario. Prima impari bene a progettare, modellare e mantenere il database e poi ti preoccupi di come fare vedere i dati all' utente. Decisamente meglio.

La mia domanda e', in un grosso database di diversi Giga di dati devi preoccuparmi che il codice sia Domain Driven e ben leggibile o forse dovrei prima progettare un database come dio comanda? Io direi la seconda, ma sono sicuro che la maggior parte dei Programmatori DDD non la pensa come me.

author: Raffaeu | posted @ domenica 17 agosto 2008 3.27 | Feedback (26)

[OT] non si finisce mai.


Come vi avevo detto qualche settimana fa ho iniziato a prepararmi per certificarmi con SQL 2005 e non e' certo semplice visto che gli esami sono parecchi e il materiale da studiare pure. Per il momento sto seguendo il percorso di Db Admin e sembra adare bene.

Giusto oggi ricevo la notizia che la mia Compagnia adottera' da fine anno Microsoft Dynamics e quindi vi preannuncio gia' cosa dovro studiare a partire dall' anno prossimo.
Che dire, non si finisce proprio mai ...
(Forse e' per questo che amo cosi' tanto il mi lavoro)

author: Raffaeu | posted @ giovedì 7 agosto 2008 3.00 | Feedback (0)

Schede video NVidia G84, G86 ... Pronte a morire.


Ebbene si lo abbiamo sperimentato proprio oggi con due Laptop DELL e la conferma arriva dal web.

Come dice un mio caro amico Che culo!!

http://gizmodo.com/5023963/inquirer-every-nvidia-graphics-card-with-g84-or-g86-chipset-is-ready-to-die

author: Raffaeu | posted @ mercoledì 16 luglio 2008 18.22 | Feedback (3)

DNS bug, mi viene la pelle d'oca


Leggendo in giro mi trovo su questo sito http://www.doxpara.com/ questa notizia sconvolgente

Sweet!

So there’s a bug in DNS, the name-to-address mapping system at the core of most Internet services. DNS goes bad, every website goes bad, and every email goes…somewhere. Not where it was supposed to. You may have heard about this — the Wall Street Journal, the BBC, and some particularly important people are reporting on what’s been going on. Specifically:

1) It’s a bug in many platforms

2) It’s the exact same bug in many platforms (design bugs, they are a pain)

3) After an enormous and secret effort, we’ve got fixes for all major platforms, all out on the same day.

4) This has not happened before. Everything is genuinely under control.

Potete andare sul sito stesso per verificare se anche il vostro DNS e' affetto dalla vulnerabilita' sopra citata.

author: Raffaeu | posted @ mercoledì 9 luglio 2008 19.14 | Feedback (7)

Reverse Engineer a mano ...


 

Se c'e' una cosa che proprio non sopporto e' dover fare reverse engineer a mano di programmi sviluppati con linguaggi <stone age> tipo VB6 alla spaghetti code.

Sei li che ti costruisci i tuoi pattern, i tuoi layer ben suddivisi con il dominio perfetto e poi pero' devi sostituire programmi che non hanno 1 riga, dico 1 riga di commento o spiegazione. No UML, no DataFlow niente. Insomma routine per routine devi capire cosa fa. Con magari 10 variabili del tipo x AS Variant, b AS Object ....

Posso definirlo Reverse Engineering a mano?
Smile

Scusate avevo bisogno di uno sfogo in Lingua Italiana.

author: Raffaeu | posted @ venerdì 27 giugno 2008 14.45 | Feedback (0)

Nuovo ciclo di certificazioni.


Anche per quest' anno ho il mio fioretto. Le decisioni erano due, o partire con tutta la serie di MCPD e finirle oppure passare ad altro.

Essendo cambiate le mie esigenze lavorative, non penso proprio che per il momento o per il futuro andro' a lavorare in grossi Team su applicazioni Enterprise ma di sicuro dovro' amministrare diversi Db SQL e processi di ETL.

Quindi ecco qui la mia nuova impresa per l' anno 2008.

Microsoft Certified IT Professional: Database Administrator

MCITP Self-Paced Training Kit (Exams 70-431, 70-443, 70-444): Microsoft  SQL Server 2005 Database Administrator Core Requirements (Pro Certification)

Esami:

  • 70-431 - TS: Microsoft SQL Server 2005 – Implementation and Maintenance
  • 70-443 - PRO: Designing a Database Server Infrastructure by Using Microsoft SQL Server 2005
  • 70-444 - PRO: Optimizing and Maintaining a Database Administration Solution by Using Microsoft SQL Server 2005

L' azienda non passera' a SQL 2008 per i prossimi anni quindi ho bisogno di un metodo per rafforzare le mie conoscenze su questo argomento e ... cosa meglio delle Certificazioni.

Speriamo bene.

author: Raffaeu | posted @ venerdì 6 giugno 2008 13.44 | Feedback (0)

Prepararsi all' esame 70-431 (Microsoft SQL 2005 - Implementation and Maintenance).


Sei interessato a diventare un MCP (Microsoft Certified Professional) o un MCTS (Microsoft Certified Technology Specialist)? Per prima cosa devi prepararti e bene all' esame che dovrai affrontare.
Per fare cio' esistono svariati metodi. Per esempio puoi comperare un Kit di Preparazione che include il libro per la preparazione all' esame e alcune domande generali. Oppure puoi frequentare una serie di Corsi MOC che ti portano a visualizzare un giro completo degli argomenti che dovrai studiare. Oppure, esistono una serie di societa', come lo e' UCertify, grazie alle quali puoi prepararti direttamente affrontando una simulazione dell' esame vero e proprio. Le domande solitamente sono svariate e possono essere del tipo: scelta multipla, unica selezione, interattive.

In questo articolo voglio revisionare un kit di una societa' che io ritengo tra le migliori nel settore, ovvero il kit M70-431 rilasciato da UCertify.

La Societa` Ucertify.

Questa societa` e` nel settore delle certificazioni da ormai quasi 10 anni, ovvero dal 1999. La societa' UCertifiy offre circa un centinaio di esami attualmente e stanno realizzando anche quelli per le nuove certificazioni. Sono gia' pronte le sezioni Developer e Database Administrator per quando riguarda Microsoft, quindi di materiale ne avete a anche tanto. La cosa fantastica che mi affascina di questa societa` e` che loro vi offrono il Kit demo gratuitamente, lo potete scaricare, installare ed eseguire tutte le volte che volete. Fattio cio` se ritenete che il kit sia valido, e sono sicuro di cio`, non dovete far altro che inviare una mail all' ufficio commerciale e in un giorno loro vi attivano il prodotto via web. Facile no? Ad esempio se siete interessati all' esame 70-431 potete andare qui e leggere di piu` a riguardo. http://www.ucertify.com/exams/Microsoft/70-431.html

Revisione del Kit 70-431A per l' esame Microsoft.

Per prima cosa dobbiamo scaricare, installare ed eseguire il setup dell' esame che vogliamo effettuare. Fatto cio', e vi garantisco che e' davvero semplice, non dovete far altro che eseguire il prodotto, che in questo caso e' in versione limitata. Avete un certo numero di domande, note, e quiz a disposizione, e se lo ritenete valido, lo comperate on-line.
Fatto cio' UCertify vi invia per e-mail un semplicissimo codice di attivazione che va inserito nel vostro kit, ed il gioco e' fatto.

Durante l' esecuzione del programma, tramite una icona installata nel vostro desktop, vi viene proposta per prima cosa la schermata iniziale che vi mostro qui di seguito:

image

Questa e' la schermata principale del vostro kit, tramite la quale potete fare tutto e vedere i progressi. Per prima cosa nella parte superiore viene proposta una barra informativa che vi dice quale esame state valutando, in quale lingua. Poi vi e' la sezione dei quiz vera e propria che la potete trovare subito dopo. Come vedete ci sono diverse tipologie di test che andremo a visualizzare poi di seguito in dettaglio.
Piu' sotto potete trovare la parte di Track dei progressi, ovvero in questa sezione potete monitorare le vostre attuali conoscenze ed i vostri progressi per questo esame. Insomma se le vostre conoscenze sono vicine al 100% e' bene iscriversi in un centro Prometric ed andare a dare l' esame.

Nella sezione di destra invece, abbiamo una serie di strumenti che ci aiutano a capire meglio e a rafforzare le nostre conoscenze. Ad esempio, possiamo leggere articoli mirati a rafforzare un determinato argomento, possiamo leggere le Flash Card che ci danno dei piccoli consigli su alcuni argomenti, possiamo leggere gli obiettivi veri e propri che l' esame ci prefigge di raggiungere. Infine ci sono delle note di studio e dei come fare molto utili per chi ha una memoria visiva.

Ma andiamo a vedere nel dettaglio quali sono i tests che ci vengono proposti:

Diagnostic Test (15 domande):

image

Questo test serve sia al software che a noi stessi per capire come siamo messi ovvero come siamo preparati per l' esame, quali sono gli argomenti dove siamo maggiormente forti e quali invece dove dobbiamo studiare ancora. In questo caso vi vengono proposte 15 domande, che servono al software proprio per capire quali sono le nostre conoscenze facendo un quadro generale della situazione.

Practice Test (54 domande):

 

Il kit vi offre la la possibilita' di usare 3 test differenti, ovvero il practice test A, B e C. Cosa contiene ognuno? In pratica in ogni test trovate una serie di domande che non vi saranno proposte successivamente nell' altro test. La pratica e' quella di effettuare tutti e tre i test fino a che non li superate a pieni voti. In questo modo siete certi di aver coperto tutti gli argomenti richiesti dalla certificazione finale.

Potete comunque andare nel menu' File/Create test per creare un nuovo SET di test a vostro piacimento, dove magari selezionate esclusivamente alcuni argomenti sui quali siete sicuri di essere poco preparati.

Test o Study Mode

Beh qui la differenza e' fondamentale. Ogni test contiene questa opzione che vi consente di dividere proprio da un tipo di test ad un altro. Ad esempio: se selezionate Test mode no avrete modo in futuro di modificare la risposta o vedere a priori la vera risposta. E' come un esame dovete rispondere in un certo tempo e alla fine scoprite se la vostra ripsosta era esatta o no.

Con la seconda invece, lo study mode, potete per ogni domanda verificare subito se la vostra risposta e' quella esatta o no e alla fine decidere di tenerla o cambiarla. In questo caso lo scopo e' quello di farvi capire per ogni domanda, quindi subito, perche' avete sbagliato, quale era la risposta esatta e perche' avreste dovuto rispondere in quel modo.

Adaptive test

Il test nella schermata seguente e' quello che viene definito Adaptive Test.

image

Cosa succede in questo caso? In questo caso il programma inizia con una domanda semplice e man mano che rispondete adatta le domande successive alle vostre conoscenze. In pratica man mano che rispondete se le vostre risposte sono sempre esatte, le domande successive saranno sempre piu' complesse, al contrario se le vostre risposte saranno errate il test continuera' a proporvi domande con una difficolta' inferiore.

Vi consiglio di eseguire questo test dopo un po' di tempo che state studiando, non subito.

Report e statistiche

La cosa che piu' mi entusiasma di questo motore di test e' la capacita' di generare grafici e statistiche sul vostro andamento. In questo modo siete in grado in ogni istante di avere un quadro generale della vostra situzione e capire se e' meglio che studiate ancora un po' o se siete pronti per l' esame vero e proprio.

image

Nel mio caso sono scarsamente preparato su tutto e per ogni test che ho fatto non ho risposto bene quindi mi viene caldamente consigliato di prendere in mano il libro e di studiare.

Non trovate che tutto cio' sia semplicemente fantastico?

Money Back

Ebbene si questa carattistica solo UCertify ve la offre! Avete comperato il kit ed eravate sicuri di superare l' esame ma quando siete andati a darlo qualcosa e' andato storto e non lo avete passato? Nessun problema. UCertifity vi garantisce il rimborso completo del vostro kit, giusto per darvi una pacca sulla spalla e dirvi "Ok don't worry, la prossima volta andra' meglio ...". Mica male eh?

Quindi cosa aspettate? Andate sul sito di UCertify scaricate il kit che fa per voi ed iniziate a studiare. Ve lo dice una persona che e' multi-certificato e vi garantisco che specialmente all' estero le certificazioni contano , e come!!

author: Raffaeu | posted @ mercoledì 21 maggio 2008 16.33 | Feedback (0)

Regalo di Addio!!


Questa mattina in ufficio ho festeggiato il mio ultimo giorno con un bel rinfresco con prodotti tipici della regione Campania, di cui fanno parte le mie radici.
Non è potuta quindi mancare la mitica Pastiera fatta dalla mia mamma e il classico Babbà!

Come regalo, i miei colleghi mi hanno ops, regalato una bella fotocamera, che mi mancava proprio.
Eccola qua in tutto il suo splendore:
Exslim S10
Davvero un bellisimo regalo visto che il mio futuro Hobby sarà proprio quello di Intasare un pochino FlickR ...
Grazie ancora a tutti di cuore!!

Ops dimenticavo, come è usanza qui in Svizzera anche un bellissimo Victorinox

Victorinox

author: Raffaeu | posted @ martedì 29 aprile 2008 0.10 | Feedback (3)

Consulenza Informatica in Ticino


Dopo aver preso la decisione di abbandonare la Svizzera Italiana e il mio paese di origine, l' Italia, per un periodo di tempo non definito ritengo opportuno ringaziare chi ha contribuito alla mia crescita professionale.
Ringrazio tutti gli ex colleghi della società EQUUS INFORMATICA SA di Lugano, presente in tutta la Svizzera e in Italia, che offre un ottimo servizio per quel che riguarda:
  • Consulenza e Outsourcing su piattaforme Microsoft, SUN, UNIX e AS400
  • Check-up dei sistemi informativi
  • Consulenza IT e Project Management
Potete contattare la società direttamente a questo indirizzo http://www.equus.ch/.

I miei ex colleghi sono tutte persone preparate e "skillate" potete richiedere sia persone certificate Microsoft, che su altre piattaforme. Vi garantisco che sarete soddisfatti sia del lavoro svolto che dei prezzi competitivi!!

author: Raffaeu | posted @ giovedì 24 aprile 2008 20.26 | Feedback (0)

Relocating Overseas


Ho aspettato fino ad oggi, un po' per scaramanzia ed un po' per mancanza di tempo.
Grazie anche ad un carissimo amico che oggi mi ha dato uno stimolo ho deciso di comunicare ufficialmente che:

  • A partire dal 30 Aprile non saro' piu' dipendente della nota Banca Instesa SanPaolo presso la quale lavoravo come sviluppatore.
  • Non saro' piu' Italian NET Developer, ma bensi' un Italian NET Developer Relocated to Bermuda.
Ebbene si mi aspetta una nuova avventura, al di là del mare.
Per chiunque volesse continuare a seguirmi qui potete trovare il mio Blog, rigorosamente in lingua Inglese, nel quale ho iniziato a descrivere proprio questa nuova avvenura.
http://blog.raffaeu.com/Raffaeu.

La mia missione nel tenere aggiornato il blog di Scott Guthrie qui non termina, anzi continua, e spero in futuro di poter continuare a tenere aggiornato anche il mio Blog in Italiano.

Per adesso non posso far altro che ringraziare questa Community che mi ha fatto crescere e mi ha dato lo stimolo per mettermi in gioco un' altra volta ancora.
Uè resta il fatto che se qualcuno passa di li' ... beh venitemi a trovare, l' Isola non è cosi' grande come si possa pensare.

author: Raffaeu | posted @ giovedì 24 aprile 2008 0.48 | Feedback (7)

SubVersion, Visual Studio 2008. La mia esperienza.


Non posso certo permettermi di mettere in discussione prodotti come TFS (Team Foundation Server) che non hanno eguali, ma ho voluto partecipare alla discussione sul gruppo UGIALT di una via alternativa ai Repositories messi a disposizione da casa Microsoft.

Un primo problema che ho dovuto affrontare è stato quello economico, ho un piccolo Team e non posso acquisire un prodotto come TFS perchè purtroppo non esiste una MSDN Subscription e altre problematiche burocratiche.

Ho quindi pensato ad una via alternativa che per me è stata SubVersion. Di seguito vi elenco i prodotti che vi servono per poter avere un piccolo e semplice repository fatto in casa ed OpenSource.

Per prima cosa vediamo cosa serve per partire:

A questo punto abbiamo il Core del nostro repository. Purtroppo arrivando fino a qui andiamo in contro a due problematiche che per chi usa Visual Studio, sono davvero problematiche.

  1. Non abbiamo un IDE che ci consente di gestire il versioning, ma un semplice strumetno a riga di comando (che io personalmente odio!!)
  2. Non abbiamo una integrazione in Visual Studio, con il quale, io personalmente, faccio tutto, anche il caffè!!

La soluzione parziale è quella di usare uno dei tanti strumenti Open per l' integrazione grafica di SVN (SubVersion) in Windows Explorer. Di preciso ho voluto usare:

TortoiseSVN che vi integra tutte queste caratteristiche nella finestra di Windows Explorer e quindi anche nel menu' contestuale di Windows stesso. Di seguito uno screenshot:

Context menu for unversioned folders

Certo avendo fatto 30 perchè non fare anche 31. Quindi mi son detto, vuoi vedere che non hanno fatto una mezza integrazione con Visual Studio?? E cerca che ti ricerca ho trovato questo altro progetto, che purtroppo è a pagamento  ma si è dimostrato (per i suoi 49$) davvero utile.

VisualSVN è uno strumento che integra i comandi visuali di TortoiseSVN all' interno di Visual Studio fornendovi cosi' un vero e proprio repository integrato in VS. Di seguito lo screenshot della 'Mutazione' con la versione Visual Studio 2008 Standard ... (quella del MIX Italiano per intenderci)

VisualSVN screnshot Integrazione nei singoli file, con presenza di luci in stile semaforo.

Ampliamento del menu' contestuale di Visual Studio, con i classici comandi Commit, Update e RollBack

Nota: SubVersion non va paragonato a TFS, ma al massimo al buon vecchio SourceSafe. Lo scopo è semplicemente quello di costruire un Repository dei files modificati e non è in grado di gestire un sistema in rete di Versioning come fa TFS, nè tantomento di Builds differenziate. Ma se cercate qualcosa di leggero e free potrebbe fare al caso vostro.

author: Raffaeu | posted @ venerdì 18 aprile 2008 14.14 | Feedback (16)

Gadget, Controlli Ajax? Script#!


Technorati Tag:

Questa mattina bazzicavo in quel del Web quando mi son trovato davanti una libreria, template per Visual Studio davvero interessante.

Questa cosa l' ho sognata tempo fa quando ho costruito il primo Gadget per Windows Vista! Molto utile per chi lavora con ASP.NET e AJAX la componente Script# vi consente di controllare e compilare i vostri codici C# in funzioni Javascript.

Il progetto e i file contengono una serie di template, che funzionano anche con Visual Studio 2008 e vi propongono queste soluzioni:

image

Potete creare una semplice Libreria, una Libreria per siti web, Un progetto completo per un Gadget di Vista, o Librerie per ASP.NET AJAX.

In questa pagina trovate un tutorial per partire. In pratica voi create la Pagina .aspx e il Code Behind, al resto ci pensa il compilatore con Script#, per avere come risultato finale un bel file .js con la traduzione delle nostre funzioni in codice Js!!

E questo è solamente una parte del lavoro che Script# puo' fare per voi.

author: Raffaeu | posted @ martedì 15 aprile 2008 11.29 | Feedback (0)

Reporting Services, tutti i record o filtrati per ID


Normalmente quando si sviluppa la parte di reportistica di un programma, la prima problematica che bisogna affrontare è proprio quella legata alla selezione di uno, tutti o qualche records. Le soluzioni sono svariate, certo che costruire un report per un singolo record ed uno per tutti, mi sembra un po' eccessivo.

Nel mio caso, molto molto semplice, dovevo produrre dei formulari anagrafici e quindi l' utente finale deve poter stampare uno, tutti o qualcuno.

Pensiamo alla struttura dati, per prima cosa, davvero semplice come quella sotto:

Nuova immagine (4)

A questo punto basta creare il modulo che vogliamo stampare con Reporting Services, all' interno di un oggetto List, fornire allo stesso l' opzione di Group by tramite ID che è univoco per Record.

image

Adesso non ci resta che creare un Parametro nel Report al quale passiamo l' ID o la serie di ID che vogliamo valorizzare nelle stampe. Sarà un MultiValue, chiaramente.
Fatto cio' come nella schermata sotto

image

Dobbiamo solamente fornire un Filtro alla Lista di Prima, in questo modo, ovvero, con una clausola IN (valori)

image

Adesso nel nostro codice, dobbiamo solamente passare al Report gli ID dei records che vogliamo stampare!! Davvero utile e molto meno macchinoso di Crystal Report.
Io ad esempio, ho usato una ListBox MultiSelect, dove l' utente seleziona le Anagrafiche che vuole stampare, a quel punto, passo gli ID presenti nella ListBox.

:-D

author: Raffaeu | posted @ giovedì 10 aprile 2008 12.36 | Feedback (1)

ReportViewer, qualche Tips.


Technorati Tag: ,

Dando uno sguardo in giro ho visto che spesso molti DEV incappano in queste problematiche con il controllo ReportViewer presente sia in Visual Studio 2005 che in Visual Studio 2008, che è in grado di visualizzare 2 tipologie di Reports. La prima con estensione (.rdlc) è composta dai reports che possiamo creare all' interno di VS e la seconda (.rdl) è composta dai Reports creati con i Reporting Services di MS SQL 2005 o superiore.

Visualizzare la Preview

Per la preview del nostro report, basta dire al report viewer che:

private void InitializeMargin()
        {
            this.reportViewer1.SetDisplayMode(Microsoft.Reporting.WinForms.DisplayMode.PrintLayout);
            this.reportViewer1.ZoomMode = Microsoft.Reporting.WinForms.ZoomMode.Percent;
            this.reportViewer1.ZoomPercent = 100;
        }

In questo modo il Report Viewer compare in modalità Preview (molto piu' carino) con uno Zoom del 100%, simile alla Preview di Word.

Dilemma dei Margini

Per risolvere questo dilemma, basta impostare i margini all' interno delle proprietà del report stesso in questo modo:

image

Sarà poi il Report Viewer che in automatico rappresenterà il report con i margini impostati. Niente di piu'.

author: Raffaeu | posted @ martedì 8 aprile 2008 8.43 | Feedback (2)