90 lines
3.0 KiB
C#
90 lines
3.0 KiB
C#
|
using System.Web;
|
|||
|
using System.Web.Security;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
using System.Data;
|
|||
|
using FastReport;
|
|||
|
|
|||
|
namespace BLL.Common
|
|||
|
{
|
|||
|
public static class FastReportService
|
|||
|
{
|
|||
|
|
|||
|
/// <summary>
|
|||
|
/// 重置数据
|
|||
|
/// </summary>
|
|||
|
public static void ResetData()
|
|||
|
{
|
|||
|
HttpContext.Current.Session["ReportDataTables"] = null;
|
|||
|
HttpContext.Current.Session["ReportParameterValues"] = null;
|
|||
|
}
|
|||
|
public static void AddFastreportTable(DataTable dataTable)
|
|||
|
{
|
|||
|
List<DataTable> dataTables = (List<DataTable>)HttpContext.Current.Session["ReportDataTables"];
|
|||
|
if (dataTables == null)
|
|||
|
{
|
|||
|
dataTables = new List<DataTable>();
|
|||
|
}
|
|||
|
dataTables.Add(dataTable);
|
|||
|
|
|||
|
HttpContext.Current.Session["ReportDataTables"] = dataTables;
|
|||
|
}
|
|||
|
public static void AddFastreportParameter(Dictionary<string, string> Dicparames)
|
|||
|
{
|
|||
|
HttpContext.Current.Session["ReportParameterValues"] = Dicparames;
|
|||
|
|
|||
|
}
|
|||
|
/// <summary>
|
|||
|
/// 合并报表后打印
|
|||
|
/// </summary>
|
|||
|
/// <param name="fastReportItems">报表实体集</param>
|
|||
|
/// <param name="path">导出的路径</param>
|
|||
|
public static void ExportMergeReport(List<Model.FastReportItem> fastReportItems,string path)
|
|||
|
{
|
|||
|
Report report = new Report();
|
|||
|
report.PrintSettings.ShowDialog = false; //隐藏弹窗
|
|||
|
FastReport.EnvironmentSettings settings = new EnvironmentSettings();
|
|||
|
settings.ReportSettings.ShowProgress = false; //隐藏进度条
|
|||
|
for (int i = 0; i < fastReportItems.Count; i++)
|
|||
|
{
|
|||
|
report.Load(Funs.RootPath + fastReportItems[i].ReportPath); //加载报表
|
|||
|
|
|||
|
List<DataTable> dataTables = fastReportItems[i].DataTables;
|
|||
|
Dictionary<string, string> ParameterValues = fastReportItems[i].ParameterValues;
|
|||
|
if (dataTables != null && dataTables.Count > 0)
|
|||
|
{
|
|||
|
for (int j = 0; j < dataTables.Count; j++)
|
|||
|
{
|
|||
|
report.RegisterData(dataTables[j], dataTables[j].TableName);//绑定数据源
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
if (ParameterValues.Count > 0)
|
|||
|
{
|
|||
|
foreach (KeyValuePair<string, string> kvp in ParameterValues)
|
|||
|
{
|
|||
|
report.SetParameterValue(kvp.Key, kvp.Value);//绑定参数
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
if (i==0)
|
|||
|
{
|
|||
|
report.Prepare();
|
|||
|
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
report.Prepare(true);
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
FastReport.Export.Pdf.PDFExport exp = new FastReport.Export.Pdf.PDFExport();
|
|||
|
report.Export(exp, path);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|