private void IpostaRpt() { DsGestioneSpazi ds = new DsGestioneSpazi(); ds = recuperaDataSet(ds); bindReport(ds); }
private void bindReport(DsGestioneSpazi dsRpt) { string pathRptSource = Server.MapPath(Request.ApplicationPath + ConfigurationSettings.AppSettings["SourceReports"]); string rptPath = Server.MapPath("../report/" + GetReportSource()); crReportDocument.Load(rptPath); crReportDocument.SetDataSource(dsRpt); crReportDocument.SetParameterValue("tipo", tipoDocumento); switch (tipoDocumento) { case "PDF": string Fname = pathRptSource + Session.SessionID.ToString() + ".pdf"; crDiskFileDestinationOptions = new DiskFileDestinationOptions(); crDiskFileDestinationOptions.DiskFileName = Fname; crExportOptions = crReportDocument.ExportOptions; crExportOptions.DestinationOptions = crDiskFileDestinationOptions; crExportOptions.ExportDestinationType = ExportDestinationType.DiskFile; crExportOptions.ExportFormatType = ExportFormatType.PortableDocFormat; crReportDocument.Export(); Response.ClearContent(); Response.ClearHeaders(); Response.AddHeader("Content-Disposition", "attachment;filename=\"" + new System.IO.FileInfo(Fname).Name + "\""); Response.ContentType = "application/pdf"; Response.WriteFile(Fname); Response.Flush(); Response.Close(); System.IO.File.Delete(Fname); break; case "HTML": rptEngineOra.DisplayGroupTree = false; rptEngineOra.DisplayToolbar = true; rptEngineOra.SeparatePages = false; rptEngineOra.ReportSource = crReportDocument; break; default: // non fai nulla break; } }
private DsGestioneSpazi recuperaDataSet(DsGestioneSpazi ds) { try { int index = 0; Classi.AnalisiStatistiche.wrapDb _IODB = new TheSite.Classi.AnalisiStatistiche.wrapDb(); S_Controls.Collections.S_ControlsCollection _Scollection = new S_Controls.Collections.S_ControlsCollection(); S_Controls.Collections.S_Object p_Id_Edificio = new S_Controls.Collections.S_Object(); p_Id_Edificio.ParameterName = "p_Id_Edificio"; p_Id_Edificio.DbType = ApplicationDataLayer.DBType.CustomDBType.VarChar; p_Id_Edificio.Direction = ParameterDirection.Input; p_Id_Edificio.Size = 300; p_Id_Edificio.Index = index++; p_Id_Edificio.Value = stringaEdifici; _Scollection.Add(p_Id_Edificio); S_Controls.Collections.S_Object p_Id_Piano = new S_Controls.Collections.S_Object(); p_Id_Piano.ParameterName = "p_Id_Piano"; p_Id_Piano.DbType = ApplicationDataLayer.DBType.CustomDBType.Integer; p_Id_Piano.Direction = ParameterDirection.Input; p_Id_Piano.Index = index++; if (piano == "") { p_Id_Piano.Value = 0; } else { p_Id_Piano.Value = Convert.ToInt32(piano); } _Scollection.Add(p_Id_Piano); S_Controls.Collections.S_Object p_Id_Stanza = new S_Controls.Collections.S_Object(); p_Id_Stanza.ParameterName = "p_Id_Stanza"; p_Id_Stanza.DbType = ApplicationDataLayer.DBType.CustomDBType.VarChar; p_Id_Stanza.Direction = ParameterDirection.Input; p_Id_Stanza.Size = 255; p_Id_Stanza.Index = index++; p_Id_Stanza.Value = stanza; _Scollection.Add(p_Id_Stanza); S_Controls.Collections.S_Object p_Str_Dest_Uso = new S_Controls.Collections.S_Object(); p_Str_Dest_Uso.ParameterName = "p_Str_Dest_Uso"; p_Str_Dest_Uso.DbType = ApplicationDataLayer.DBType.CustomDBType.VarChar; p_Str_Dest_Uso.Direction = ParameterDirection.Input; p_Str_Dest_Uso.Size = 256; p_Str_Dest_Uso.Index = index++; p_Str_Dest_Uso.Value = stringaDestinazione; _Scollection.Add(p_Str_Dest_Uso); S_Controls.Collections.S_Object p_Str_Reparto = new S_Controls.Collections.S_Object(); p_Str_Reparto.ParameterName = "p_Str_Reparto"; p_Str_Reparto.DbType = ApplicationDataLayer.DBType.CustomDBType.VarChar; p_Str_Reparto.Direction = ParameterDirection.Input; p_Str_Reparto.Size = 255; p_Str_Reparto.Index = index++; p_Str_Reparto.Value = stringaReparto; _Scollection.Add(p_Str_Reparto); S_Controls.Collections.S_Object p_Str_Cat = new S_Controls.Collections.S_Object(); p_Str_Cat.ParameterName = "p_Str_Cat"; p_Str_Cat.DbType = ApplicationDataLayer.DBType.CustomDBType.VarChar; p_Str_Cat.Direction = ParameterDirection.Input; p_Str_Cat.Size = 255; p_Str_Cat.Index = index++; p_Str_Cat.Value = idCategoria; _Scollection.Add(p_Str_Cat); S_Controls.Collections.S_Object p_Operatore_Area = new S_Controls.Collections.S_Object(); p_Operatore_Area.ParameterName = "p_Operatore_Area"; p_Operatore_Area.DbType = ApplicationDataLayer.DBType.CustomDBType.VarChar; p_Operatore_Area.Direction = ParameterDirection.Input; p_Operatore_Area.Size = 255; p_Operatore_Area.Index = index++; p_Operatore_Area.Value = operatoreMq; _Scollection.Add(p_Operatore_Area); S_Controls.Collections.S_Object p_Int_MQ2 = new S_Controls.Collections.S_Object(); p_Int_MQ2.ParameterName = "p_Int_MQ2"; p_Int_MQ2.DbType = ApplicationDataLayer.DBType.CustomDBType.Integer; p_Int_MQ2.Direction = ParameterDirection.Input; p_Int_MQ2.Index = index++; if (valoreMq == "") { p_Int_MQ2.Value = 0; } else { p_Int_MQ2.Value = Convert.ToInt32(valoreMq); } _Scollection.Add(p_Int_MQ2); S_Controls.Collections.S_Object IO_CURSOR = new S_Controls.Collections.S_Object(); IO_CURSOR.ParameterName = "IO_CURSOR"; IO_CURSOR.DbType = ApplicationDataLayer.DBType.CustomDBType.Cursor; IO_CURSOR.Direction = ParameterDirection.Output; IO_CURSOR.Index = index++; _Scollection.Add(IO_CURSOR); _IODB.s_storedProcedureName = "PACK_RPT_GESTIONE_SPAZI." + GetNomeStrPrd(); DataSet _MyDataset = _IODB.GetData(_Scollection).Copy(); SchemiXSD.DsGestioneSpazi.parametriRow rigaParametri = (SchemiXSD.DsGestioneSpazi.parametriRow)ds.parametri.NewRow(); rigaParametri.edifici = stringaEdifici.Replace("','", " "); rigaParametri.piano = stringaPiano; rigaParametri.stanza = stringaStanza; rigaParametri.categoria = stringaCategoria; rigaParametri.destUso = stringaDestinazione; rigaParametri.reparto = stringaReparto; rigaParametri.opMq = operatoreMq; rigaParametri.Mq = valoreMq; ds.Tables["parametri"].Rows.Add(rigaParametri); int i = 0; string xml = ""; for (i = 0; i <= _MyDataset.Tables[0].Rows.Count - 1; i++) { if (!Convert.ToBoolean(S_Misure)) { ds.Tables["tabellina"].ImportRow(_MyDataset.Tables[0].Rows[i]); } else { ds.Tables["tabellina2"].ImportRow(_MyDataset.Tables[0].Rows[i]); } } if (i == 0) { throw new Eccezioni.NoDataForReportFoundException(); } xml = ds.GetXml(); return(ds); } catch (Eccezioni.NoDataForReportFoundException ex) { LabelMessaggio.Text = "Nono sono presenti dati per i criteri di ricerca selezionati " + ex.Message; rptEngineOra.Visible = false; return(null); } catch (Exception ex) { //Server.Transfer("Error.aspx?msgErr=" + ex.Message); throw ex; //return null; } }