Reporting Services: bloccare l'esportazione con report vuoto

martedì 24 luglio 2007 - 14.38

volperubbia Profilo | Senior Member

Ciao a tutti,
per esportare in pdf un report di rs via vb.net, uso il seguente codice ...

objRS = New ReportingServices.ReportingService
objRS.Url = ...
objRS.Credentials = ...

data = objRS.Render("................", strFormat.Trim, HistoryID, deviceInfo, rptParameters, Nothing, ShowHideToggle, Encoding, mimeType, parametersUsed, Warnings, streamIds)

fs = New System.IO.FileStream("......\RSRpt_" & Session.SessionID & "." & FileExtention.Trim("."c), System.IO.FileMode.OpenOrCreate)
writer = New System.IO.BinaryWriter(fs)
writer.Write(data, 0, data.Length)
writer.Close() : fs.Close()
Response.ContentType = ContentType
Response.WriteFile(fs.Name)
Response.Flush()
Response.Close()

Fin qui tutto bene.
Il metodo Render è il protagonista. Ma nel caso il report sia vuoto, ovvero quando le store procedures ad esso legate ritornano 0 records, ottengo un report (ad esempio un file pdf) con un pagina bianca.
E' possibile intercettare in qualche modo questa situazione e non fargli creare il pdf?
Devo usare vie diverse dal metodo render?

Grazie per l'attenzione,
Davide

freeteo Profilo | Guru

ciao,
al momento non saprei come controllarlo se non caricando i dati prima di fare il render, perche' è proprio nel render che lui legge i dati (a meno che non lo faccia tu prima di farlo fare a lui e controlli il risultato...)

Pero' pensavo, percaso hai gia' provato a controllare la grandezza di "data" prima di salvarla?
Perche' se è troppo piccola (fai qualche prova per capire indicativamente) sicuramente sara' solo una pagina vuota...
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-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5