Crystal Reports e file di testo

martedì 31 ottobre 2006 - 12.03

memmo77 Profilo | Expert

Ho questo problema.
Sto programmando in aspnet con visual studio 2003. Devo creare un report nel quale inserire un file di testo.
Come posso scrivere in aspnet, la conenssione a questo e il file da leggere e passarla a crystal?La connessione dovrebbe essere variabile quindi.
Spero di essermi spiegato e grazie a tutti ciao.

freeteo Profilo | Guru

ciao,
farlo da dentro al report non penso sia possibile, pero' sfrutti il framework per leggerti il contenuto del file in una variabile stringa, e poi gli passi al report la stringa come campo formula (o parametro).Questo campo "parametrico" lo metti nella pagina del report e poi gli setti la proprieta' di "potersi allungare" ovvero "can grow".
Il gioco oè fatto, non hai problemi e il path del file lo puoi ricavare tranquillamente da web.config o altri di file di configurazione (oppure da database) come vuoi.

Cmq ti posto 1 esempio veloce in c#, ovviamente da riadattare:
//---- legggi il file sulla variabilie stringa string mioTesto,linea; System.IO.StreamReader sr = new System.IO.StreamReader("C:\\Sample.txt"); linea = sr.ReadLine(); while (linea != null) { mioTesto += linea; linea = sr.ReadLine(); } //----- carichi il report e setti la formula (creata a design time) ReportDocument mioreport = new ReportDocument(); mioreport.Load( Server.MapPath("mioreport.rpt")); mioReport.DataDefinition.FormulaFields["miaFormula"].Text = mioTesto; CrystalReportViewer1.ReportSource = mioreport; CrystalReportViewer1.DataBind();
ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

memmo77 Profilo | Expert

Ciao, grazie della risposta, ho fatto tutto quello che mi hai detto, ma il programma mi va in errore al databind del report:

Il testo rimanente non fa parte della formula. Dettagli: errorKind Errore nel file C:\DOCUME~1\PC\ASPNET\IMPOST~1\Temp\{EB78127A-4E9A-4819-A0EB-1898C73B7047}.rpt: Errore nella formula <miaFormula>. 'prova lkerglksgbsfvb' Il testo rimanente non fa parte della formula. Dettagli: errorKind

Nella formula del report, non ho messo nulla l'ho solo inserita come campo formula chiamandola @miaFormula

Cosa c'è che non va?

Grazie mille ciao

freeteo Profilo | Guru

ciao,
scusami, ho scritto il codice in fretta, mancano gli apici.
Infatti quando imposti il testo della formula devi dirgli che è un valore stringa (quindi tra doppi apici), percio' l'esempio di prima va corretto con:

mioReport.DataDefinition.FormulaFields["miaFormula"].Text = "\"" + mioTesto + "\"";

oppure il relativo apice doppio in vb.net se usi quel linguaggio...

ciao.

Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo

memmo77 Profilo | Expert

Peeeeerfetto, funziona correttamente .Grazie mille ciao
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-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5