Ricerca 
it-ITen-US
Registrazione
Accedi
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:.
    Stampa     


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.
Autore Messaggi

Posts:537

--
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:662

--
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
SQL Server Nozioni base (parte 1)
Come creare un database in SQL Server Usando Sql Management Studio
2008/03/09 | Autore: Sabrina Cosolo
Programmer Paster Addin per Expression Web 1 e 2
Implementare un Addin per Expression Web 1 e 2 che usa la libreria ProgrammerPaster
2009/02/26 | Autore: Rudy Azzan
Introduzione a Windows Presentation Foundation (parte1)
La prima di una serie di traduzioni da articoli di MSDN o altre fonti che offrono un punto di partenza per iniziare a capire il WPF.
2007/07/29 | Autore: Patrizia Cosolo
Codedom Introduzione all'uso parte3
La classe Helper per le funzionalità CodeDom
2009/11/07 | Autore: Sabna Cosolo
Codedom Introduzione all'uso parte 1
Generare automaticamente codice C# o VB usando CodeDom ed il framework .NET stesso
2009/11/07 | Autore: Sabrina Cosolo
Iniziare da zero con WPF (Parte 2)
Iniziamo a scoprire gli oggetti Application e Window
2007/09/30 | Autore: Sabrina Cosolo
Iniziare da zero con WPF (Parte 3)
Litigi, Divinità, Pennelli e Frigoriferi. (prima parte)
2007/11/22 | Autore: Sabrina Cosolo
Icone e Toolstrip
Icone della giusta dimensione e Toolstrip modificate a runtime
2009/06/28 | Autore: Sabrina Cosolo
    Stampa     
Home|Forums|Blogs|Mappa del sito
© 2007-2012 by DotNetWork  .:.  Condizioni d'uso  .:.  Privacy  .:.  Accedi  .:.