Ricerca 
it-ITen-US
Register
Login
In-Vesti Dotnetwork
IN-VESTI DNW!!!
Sono finalmente arrivate le nuovissime T-Shirt di DotNetWork!!! Con soli 15,00 € ci sosterrai nelle spese di gestione della Community e ti invieremo a casa una splendida maglietta.
Se vuoi contribuire al mantenimento di DotNetWork.it Vai sulla pagina Iscrizioni
Effettua il pagamento usando IWBank
Click per andare alla pagina di Iscrizione
Oppure un Bonifico bancario (le coordinate sono sulla pagina Iscrizioni), inviaci una mail a support@dotnetwork.it indicandoci la tua taglia e l'indirizzo di spedizione.  Non appena verificata la ricezione del pagamento provvederemo a spedirti la tua T-Shirt.  Le magliette sono disponibili nelle taglie S-M-L-XL-XXL (in caso di esaurimento di una delle taglie, indica quella di "Backup"). Grazie per IN-VESTIRTI con NOI!!!
.:DotNetWork Founders:.
    Print     


DotNetWork Forums
Aprire ReportView (Sharp Shooter) da DLL
Last Post 24 Jul 2009 08:27 by Alberto [MVP] (DNW TEAM). 1 Replies.
Printer Friendly
Sort:
PrevPrev NextNext
You are not authorized to post a reply.
Author Messages

Posts:537

--
22 Jul 2009 23:55  

Buona Notte...

in una mia DLL ho vari Form...
in un form legato (bindong) ad una fonte dati (DataTable) ho alcuni TxtBox.

ho messo un ReportManager della Report Sharp Shooter e ho creato un Report InlineReportSlot.
Ho creato una Data Source legata ad un TxtBox.
nell'evento Click di un Button ho fatto partire un ReportView legato al mio report:

AddHandler ReportSlot.RenderCompleted, AddressOf ReportSlot_RenderCompleted
ReportSlot.RenderDocument()
ReportSlot.Prepare()

Private Sub ReportSlot_RenderCompleted(ByVal sender As Object, ByVal e As EventArgs)
Dim previewForm As PerpetuumSoft.Reporting.View.PreviewForm previewForm = New PerpetuumSoft.Reporting.View.PreviewForm(reportSlot) previewForm.WindowState = FormWindowState.Maximized previewForm.Show()
If Not (previewForm Is Nothing) Then 
   previewForm.Dispose()
End If
End Sub

in questo modo il ReportView non parte e non visualizza nulla...

tutto sta nello Show del previewForm.
se lo imposto "previewForm.ShowDialog(Me)" funziona ma alla chiusura mi da un eccezzione "Operazione cross-thread non valida: è stato eseguito l'accesso al controllo 'frmArchivioContatti' da un thread diverso da quello da cui è stata eseguita la creazione."


ho pensato di farlo creando un nuovo form e farlo partire con il semplice show del form...ma non riesco a capire come passargli il paramentro che deve scrivere nella DataSource creata nel ReportManager.

qualcuno ha avuto il mio stesso problema?
Grazie.


Posts:662

--
24 Jul 2009 08:27  
qualcuno ha avuto il mio stesso problema?
Quando fai domande del genere sarebbe meglio spiegare anche qual'è l'obiettivo che vuoi raggiungere, perchè in questo modo difficilmente si riesce a capire come mai ti viene fuori un'eccezione di cross-threading. O meglio, non riesco a capire come mai chiami la finestra in apertura modale e come mai le operazioni sulla finestra le fai nell'evento Show della stessa (cosa assolutamente deprecabile). L'evento show in programmazione .NET sarebbe quasi da evitare, per svariati motivi:
1) La finestra non è ancora entrata in piene possesso di tutte le sue "facoltà mentali"
2) Esistono metodi alternativi (vedi metodo Shown.... con la "n" finale)
3) E' inutile eseguire un sacco di volte lo stesso codice di inizializzazione tutte le volte che la finestra viene visualizzata
4) Alcune impostazioni, sopratutto di parametri passati da altre porzioni di codice è decisamente meglio gestirle dal codice che le richiama piuttosto che dal form che le visualizza
5) La maschera rimane visivamente "in sospeso" per tutta la durata dell'esecuzione del tuo codice dando l'impressione all'utente che il tuo programma sia inchiodato.
6) Se alcuni produttori di terze parti lavorano con oggetti a thread singolo hai problemi di cross-threading (come nel tuo caso)
In definitiva, cerca di spiegare cosa devi fare e cercheremo di darti una soluzione diversa.
Attendo nuove...
Alberto.
You are not authorized to post a reply.

Active Forums 4.1
       
Articoli
Codedom Getting Started part 1
How to generate automatically C# or VB code using CodeDom and the .NET framework
2009/11/07 | Author: Sabrina Cosolo
Mixed Fry - General purpouse classes (part 2)
Helper: A class to perform XML Serialization on data Classes
2007/10/21 | Author: Sabrina Cosolo
Programmer Paster Addin per Expression Web1 e 2
Implementare un Addin per Expression Web 1 e 2 che usa la libreria ProgrammerPaster
2009/02/26 | Author: Rudy Azzan
Installer Utility - Utilizzare le Azioni Personalizzate
Come creare automaticamente il DataBase durante il processo di installazione
2007/08/14 | Author: Alberto De luca
Ereditarietà applicata ai controlli
Creazione di una combobox che mostra immagini al posto del testo
2008/07/06 | Author: Andrea Zingoni
ADO.NET Funzionalità di base
Effettuare una ricerca su recordset disconnessi tramite DataView
2007/12/02 | Author: Andrea Zingoni
L'Albero degli elementi
Come iniziare a capire com'è fatto WPF (parte 3)
2007/08/13 | Author: Patrizia Cosolo
Icons and Toolstrips
Icons of the right dimension and runtime updated Toolstrips
2009/06/28 | Author: Sabrina Cosolo
    Print     
Home|Forums|Blogs|Mappa del sito
© 2007-2010 by DotNetWork  .:.  Terms Of Use  .:.  Privacy Statement  .:.  Login  .:.