Ricerca
 Italiano (Italia) English (United States)
Registrazione
Accedi
DotNetWork Forums
Aprire ReportView (Sharp Shooter) da DLL
Ultimo Post 24 lug 2009 08.27 by Alberto [MVP] (DNW TEAM). 1 Risposte.
Stampa immediata
Ordina:
PrevPrev ProssimoProssimo
Non sei autorizzato ad inviare una risposta.
AutoreMessaggi

Posts:365

--
22 lug 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:609

--
24 lug 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.
Non sei autorizzato ad inviare una risposta.

Active Forums 4.1
       
Articoli Pubblicati
Lavorare con i Generic - Led Control
Creare un controllo che simula i moduli LED
2007/11/11 | Autore: Alberto De Luca
SQL Server 2000/2005 Manutenzione Database
Uso di DBCC ShowContig e di sys.dm_db_index_physical_stats
2007/08/05 | Autore: Sabrina Cosolo
.NET e l'Interoperabilità COM
Come utilizzare Dll non referenziabili per convertire un documento Word in PDF
2008/07/05 | Autore: Massimo Lofrano
Installer Utility - Utilizzare le Azioni Personalizzate
Come creare automaticamente il DataBase durante il processo di installazione
2007/08/14 | Autore: Alberto De luca
ADO.NET - Mini guida per l'utente
Introduzione agli oggetti dati di ADO.NET
2007/07/26 | Autore: Alberto De Luca
Miniguida alla OOP con il .NET Framework- Parte II
Le Classi e l'Incapsulamento.
2008/10/09 | Autore: Alberto De Luca 
Lavorare con gli Array
Il problema dello zaino
2007/07/29 | Autore: Alberto De Luca
L'Albero degli elementi
Come iniziare a capire com'è fatto WPF (parte 3)
2007/08/13 | Autore: Patrizia Cosolo
   Stampa     
Home|Community|Contenuti|Forums|Blogs|Workshops
© 2007-2010 by DotNetWork .:. Condizioni d'uso .:. Privacy .:. Accedi .:.