//导出事件
private void OK_Click(object sender, RoutedEventArgs e)
{
GrapeCity.ActiveReports.PageReport rpt;
GrapeCity.ActiveReports.Document.PageDocument p = null;
string _report_name = "陕西省国省干线及(农村)公路路政巡查记录.rdlx";
rpt = new GrapeCity.ActiveReports.PageReport(new System.IO.FileInfo(_report_name));
p = new GrapeCity.ActiveReports.Document.PageDocument(rpt);
p.LocateDataSource += Rptd_LocateDataSource; //报表传入数据集
System.IO.DirectoryInfo outputDirectory = new System.IO.DirectoryInfo(fileName);//导出文件到指定的路径下
outputDirectory.Create();
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings excelSetting = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtensionSettings();
excelSetting.FileFormat = GrapeCity.ActiveReports.Export.Excel.Page.FileFormat.Xlsx;
excelSetting.OpenXmlStandard = GrapeCity.ActiveReports.Export.Excel.Page.OpenXmlStandard.Transitional;
excelSetting.Pagination = true;
excelSetting.MultiSheet = true;
GrapeCity.ActiveReports.Extensibility.Rendering.ISettings setting = excelSetting;
GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension excelRenderingExtension = new GrapeCity.ActiveReports.Export.Excel.Page.ExcelRenderingExtension();
GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider outputProvider = new GrapeCity.ActiveReports.Rendering.IO.FileStreamProvider(outputDirectory, System.IO.Path.GetFileNameWithoutExtension(reportName));
p.Render(excelRenderingExtension, outputProvider, excelSetting.GetSettings());
CMessageBox.Show("导出成功!");
}
//报表传入数据集
private void Rptd_LocateDataSource(object sender, GrapeCity.ActiveReports.LocateDataSourceEventArgs args)
{
if (args.DataSourceName == "DataSource1")
{
try
{
if (reportName == "陕西省国省干线及(农村)公路路政巡查记录")
{
switch (args.DataSetName)
{
case "DataSet1":
#region 巡查内容
DataTable dtnewContent = new DataTable();
dtnewContent.Columns.Add("prowledQk_Content");
dsShiJian = new RIM.BLL.数据表_巡查情况及结果().GetModelList("FK_prowled_Id='" + _xcDataModel.prowled_Id + "'", " prowledQk_DateTime");
int i = 2;
foreach (RIM.Model.数据表_巡查情况及结果 row in dsShiJian)
{
DataRow rownew = dtnewContent.NewRow();
rownew["prowledQk_Content"] = i + "、" + row.prowledQk_Content.ToString();
dtnewContent.Rows.Add(rownew);
i++;
}
args.Data = dtnewContent;
#endregion
break;
case "DataSet2":
#region 巡查结果
RIM.BLL.数据表_巡查事件类型侵占路产BLL lucBLL = new RIM.BLL.数据表_巡查事件类型侵占路产BLL();
DataTable dtnew = new DataTable();
dtnew.Columns.Add("prowledQk_Jg");
if (dsShiJian == null)
{
dsShiJian = new RIM.BLL.数据表_巡查情况及结果().GetModelList("FK_prowled_Id='" + _xcDataModel.prowled_Id + "'", " prowledQk_DateTime");
}
int i1 = 2;
foreach (RIM.Model.数据表_巡查情况及结果 row in dsShiJian)
{
if (!string.IsNullOrEmpty(row.prowledQk_Jg))
{
DataRow rownew = dtnew.NewRow();
rownew["prowledQk_Jg"] = "对" + i1 + "、" + row.prowledQk_Jg;
dtnew.Rows.Add(rownew);
}
i1++;
}
DataRow rownew1 = dtnew.NewRow();
rownew1["prowledQk_Jg"] = _xcDataModel.prowled_Mak;
dtnew.Rows.Add(rownew1);
args.Data = dtnew;
#endregion
break;
case "DataSet3"://现场图片
#region 现场图片
DataTable dtnewImage = new DataTable();
dtnewImage.Columns.Add("imageId");
dtnewImage.Columns.Add("imageMaxPhotoName");
if (dsShiJian == null)
{
dsShiJian = new RIM.BLL.数据表_巡查情况及结果().GetModelList("FK_prowled_Id='" + _xcDataModel.prowled_Id + "'", " prowledQk_DateTime");
}
int i3 = 2;
RIM.BLL.数据表_通用图片表BLL imagebll = new RIM.BLL.数据表_通用图片表BLL();
List<RIM.Model.数据表_通用图片表Model> imageModel;
foreach (RIM.Model.数据表_巡查情况及结果 row in dsShiJian)
{
string strWhere = "imageMainTableName='数据表_巡查情况及结果' and FK_MainTableID='" + row.prowledQk_Id + "' and imageTypeName='现场照片' and FK_SiteID='" + RIM_WCF.系统缓存_字典表Model.SiteModel.unitID + "' ";
imageModel = imagebll.GetModelList(strWhere, "数据表_巡查管理图片");
if (imageModel.Count() > 0)
{
DataRow rownew = dtnewImage.NewRow();
rownew["imageId"] = "对" + i3;
rownew["imageMaxPhotoName"] = _RootBaseDirectory + imageModel.First().imageMaxPhotoName;
dtnewImage.Rows.Add(rownew);
}
i3++;
}
args.Data = dtnewImage;
#endregion
break;
}
}
}
catch (Exception ex)
{
Common.WriteLog.CreateLog(ex, "导出巡查日志获取数据集异常!");
}
}
} |