Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 2.0 / 3.5 / 4.0
Crystal report Ogetto OLE
martedì 10 giugno 2008 - 12.12
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
weberan
Profilo
| Newbie
19
messaggi | Data Invio:
mar 10 giu 2008 - 12:12
668_report.zip
Salve a tutti
Avrei questo problema
Ho creato una Pagina Aspx nella quale ci sono due controlli
ecco qui Html
<html xmlns="
http://www.w3.org/1999/xhtml"
>
<head runat="server">
<title>Modello</title>
<link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
rel="stylesheet" type="text/css" />
<link href="/aspnet_client/System_Web/2_0_50727/CrystalReportWebFormViewer3/css/default.css"
rel="stylesheet" type="text/css" />
</head>
<body>
<form id="form1" runat="server">
<asp:PlaceHolder ID="Contenitore" runat="server"></asp:PlaceHolder>
<CR:CrystalReportViewer ID="CrystalReportViewer1" runat="server" AutoDataBind="True"
ReuseParameterValuesOnRefresh="True" Height="50px" ReportSourceID="CrystalReportSource1" Width="350px" />
<CR:CrystalReportSource ID="CrystalReportSource1" runat="server">
<Report FileName="Report.rpt">
</Report>
</CR:CrystalReportSource>
</form>
</body>
</html>
e fino a qui nessun problema
Il file Report.Rpt è un report banalissimo che allego
Al suo inteno c'è solo un oggetto OLE che si lega ad un file chiamato "modello"
Il mio problema è come posso cambiare dinamicamente il file al quale si collega l'oggetto OLE ?
sarò più chiaro
Non posso direttamente modificare il file in una cartella, perchè l'applicazione è Multi utente e questo pagina viene chiamata da più parti del software, quindi avrei problemi di conflitto quando 2 utenti lanciano la stessa pagina ma per obiettivi diversi.
Ho creato sotto una cartella Temp una sottocartella dove copio a RunTime sia il file rpt che il file dell'origine OLE "modello"
poi nella Pagina ASPX sull'evento load ho scritto
CrystalReportSource1.Report.FileName = "..\temp\" & NomeCartella & "\report.rpt"
CrystalReportSource1.DataBind()
ma il report non ne vuole sapere di puntare al file che si trova nella cartella temporanea e punta sempre
a quello originale con il quale ho creato l'ogetto ole
Spero di essere stato chiaro e che possiate aiutarmi
Grazie e buon Lavoro a Tutti
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
mer 11 giu 2008 - 08:57
ciao,
per quanto ne so io non è possibile agire tramite codice agli oggetti di tipo "Ole Object" di Crystal, essi infatti vengono importati dentro al file una volta che dal designer l'hai scelto.
Per verificare questo, puoi provare a modificare il file di origine, e vedrai che non "punta" a quel file (infatti non vedrai le modifiche che hai fatto al file) ma ha una copia dentro di lui del file stesso importato (infatti le dimensioni del file .rpt aumentano appena lo importi dato che se lo copia dentro).
Perciò ti consiglio di cambiare tecnica, magari mettere un link al file piuttosto che tutto il file, in modo che puoi lavorarci dopo da codice (magari lo fai puntare ad una pagina tua, dentro alla quale fai il codice per andare a prenderti il file sul disco) o cose di questo genere...
ps: per problemi di questo tipo legati alla reportistica, anche se asp.net, puoi usare la stanza apposita del forum.
Grazie.
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !