Crystal report Ogetto OLE

martedì 10 giugno 2008 - 12.12

weberan Profilo | Newbie

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>
&nbsp;
</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

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
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5