using DevExpress.XtraCharts; using DevExpress.XtraPrinting.Drawing; using DevExpress.XtraReports.UI; using OTSIncAReportApp.OTSTemplateDesigner; using OTSIncAReportGrids; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using static OTSIncAReportApp.OTSReport_Export; namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner { public partial class OTS_DEVReport : DevExpress.XtraReports.UI.XtraReport { public OTSReport_Export m_otsreport_export; //string typeface = "Arial Unicode MS"; string typeface = "微软雅黑"; string dataFont = "Arial Unicode MS"; List TemplateList; Export_ReportTemplate export_ReportTemplate; //SizeF syx_Size = new SizeF(668f, 660.54f); SizeF syx_Size = new SizeF(668f, 616.67f); float LowPlace = 3120f; ElementSubscript subscript=new ElementSubscript(); public OTS_DEVReport(OTSReport_Export in_export) { m_otsreport_export = in_export; ElementSubscript subscript = new ElementSubscript(); export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export); TemplateList = new List(); //加载三元相图各项 string pathtpf = in_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.TrigTemplateFileFolder + "\\" + in_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.TriTempFile; DataSet ds = DataOperation.DataAccess.XMLoperate.GetXmlData(pathtpf, "XMLData"); DataTable dt = ds.Tables["Member"]; foreach (DataRow item in dt.Rows) { if (item["TemplateName"].ToString() != "") { TemplateList.Add(item["TemplateName"].ToString()); } } InitializeComponent(); } #region 接口 /// /// 国际化显示 /// /// public void International_language(DataTable languageData) { setXRLabelData(dev_ypbh_up, GetlanguageData(dev_ypbh_up.Name.ToString(), languageData));//样品编号(中间的) setXRLabelData(dev_bgsj_up, GetlanguageData(dev_bgsj_up.Name.ToString(), languageData));//报告时间(中间的) setXRLabelData(dev_jcjgwj_up, GetlanguageData(dev_jcjgwj_up.Name.ToString(), languageData));//检测结果文件(中间的) setXRLabelData(dev_ckbz_up, GetlanguageData(dev_ckbz_up.Name.ToString(), languageData));//参考标准(中间的) setXRLabelData(dev_ypsm, GetlanguageData(dev_ypsm.Name.ToString(), languageData));//表中样品说明 setXRLabelData(dev_jcjgwj, GetlanguageData(dev_jcjgwj.Name.ToString(), languageData));//表中测量结果名称 setXRLabelData(dev_cljggk, GetlanguageData(dev_cljggk.Name.ToString(), languageData));//表中测量结果概况 setXRLabelData(dev_yxsj, GetlanguageData(dev_yxsj.Name.ToString(), languageData));//表中运行时间 setXRLabelData(dev_sczs, GetlanguageData(dev_sczs.Name.ToString(), languageData));//表中视场总数 setXRLabelData(dev_flfa, GetlanguageData(dev_flfa.Name.ToString(), languageData));//表中分类方案 setXRLabelData(dev_ckbz, GetlanguageData(dev_ckbz.Name.ToString(), languageData));//表中参考标准 setXRLabelData(dev_yjctz, GetlanguageData(dev_yjctz.Name.ToString(), languageData));//表中已检测特征 setXRLabelData(dev_scmj, GetlanguageData(dev_scmj.Name.ToString(), languageData));//表中视场面积 setXRLabelData(dev_bgsj, GetlanguageData(dev_bgsj.Name.ToString(), languageData));//表中报告时间 setXRLabelData(dev_fdbs, GetlanguageData(dev_fdbs.Name.ToString(), languageData));//表中放大倍数 //颗粒列表图 setXRLabelData(xrLabel_size_IconQuestion_Class, GetlanguageData(xrLabel_size_IconQuestion_Class.Name.ToString(), languageData));//大类图表头 setXRLabelData(xrLabel_size_IconQuestion_Subdivision, GetlanguageData(xrLabel_size_IconQuestion_Subdivision.Name.ToString(), languageData));//细分类表头 //元素分析表 setXRLabelData(xrCellElementArea, GetlanguageData(xrCellElementArea.Name.ToString(), languageData));//元素分析表表头 setXRLabelData(xrCellElementArea_details, GetlanguageData(xrCellElementArea_details.Name.ToString(), languageData));//详情 setXRLabelData(xrCell_Element_classify, GetlanguageData(xrCell_Element_classify.Name.ToString(), languageData));//分类 setXRLabelData(xrCell_Element_subdivision, GetlanguageData(xrCell_Element_subdivision.Name.ToString(), languageData));//细分 setXRLabelData(xrCell_Element_Area, GetlanguageData(xrCell_Element_Area.Name.ToString(), languageData));//面积 //夹杂物面积比 setXRLabelData(xrCellAreaOfInclusion, GetlanguageData(xrCellAreaOfInclusion.Name.ToString(), languageData));//夹杂物面积比表表头 setXRLabelData(xrCell_inclusion_classify, GetlanguageData(xrCell_inclusion_classify.Name.ToString(), languageData));//分类 setXRLabelData(xrCell_inclusion_subdivision, GetlanguageData(xrCell_inclusion_subdivision.Name.ToString(), languageData));//细分类 setXRLabelData(xrCell_inclusion_Area, GetlanguageData(xrCell_inclusion_Area.Name.ToString(), languageData));//面积(μm^2) setXRLabelData(xrCell_inclusion_percentageOfIncA, GetlanguageData(xrCell_inclusion_percentageOfIncA.Name.ToString(), languageData));//夹杂物比(%) setXRLabelData(xrCell_inclusion_FieldRatio, GetlanguageData(xrCell_inclusion_FieldRatio.Name.ToString(), languageData));//视场占比(%) //夹杂物面积比图 setXRLabelData(xrLabel_inca_pic_class, GetlanguageData(xrLabel_inca_pic_class.Name.ToString(), languageData));//夹杂物面积比图 setXRLabelData(xrLabel_inca_pic_subdivision, GetlanguageData(xrLabel_inca_pic_subdivision.Name.ToString(), languageData));//夹杂物面积比细分图 setXRLabelData(dev_DimensionTable, GetlanguageData(dev_DimensionTable.Name.ToString(), languageData));//颗粒尺寸分析结果 setXRLabelData(dev_DimensionTable_2, GetlanguageData(dev_DimensionTable_2.Name.ToString(), languageData));//尺寸计算基于: } /// /// 首页部分数据插入 /// /// public void setResultGrid(c_TemplateClass m_mbszclass) { #region 从Grid表中读取样品数据 //------------------加载模块,获取数据------------------------------------------------- ResultGrid ls_resultgrid = new ResultGrid(m_otsreport_export.m_ReportApp); Dictionary keyValues_ResultGrid = ls_resultgrid.GetData_ResultGrid_Report(); //------------------加载模块,获取数据结束---------------------------------------------- Dictionary.Enumerator en = keyValues_ResultGrid.GetEnumerator(); keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col1"].ToString(), out string str_CLJGMC);//测量结果名称 keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col4"].ToString(), out string str_YXSJ);//运行时间 keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col5"].ToString(), out string str_SCZS);//视场总数 keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col6"].ToString(), out string str_FLFA);//分类方案 keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col7"].ToString(), out string str_YJCTZ);//已检测特征 keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col8"].ToString(), out string str_SCMJ);//视场面积 keyValues_ResultGrid.TryGetValue("Magnification", out string Magnification);//放大倍数 #endregion #region 加载Grid表数据 setTableCellData(dev_jcjgwj_text, str_CLJGMC);//测量结果名称 setTableCellData(dev_yxsj_text, str_YXSJ);//运行时间 setTableCellData(dev_sczs_text, str_SCZS);//视场总数 setTableCellData(dev_flfa_text, str_FLFA);//分类方案 setTableCellData(dev_yjctz_text, str_YJCTZ);//已检测特征 setTableCellData(dev_scmj_text, str_SCMJ);//视场面积 setTableCellData(dev_fdbs_text, Magnification);//放大倍数 setTableCellData(dev_bgsj_text, DateTime.Now.ToShortDateString().ToString());//报告时间: setTableCellData(dev_ckbz_text, m_mbszclass.M_SY.str_tb_CKBZ.ToString());//参考标准 #endregion #region 加载模板设置文档数据 setXRLabelData(dev_ym, m_mbszclass.M_YMYJ.str_tb_ymwb.ToString());//页眉 setXRLabelData(dev_yj, m_mbszclass.M_YMYJ.str_tb_yjwb.ToString());//页脚 setXRLabelData(dev_zbt, m_mbszclass.M_SY.str_tb_ZBT.ToString());//主标题 setXRLabelData(dev_fbt, m_mbszclass.M_SY.str_tb_FBT.ToString());//副标题 setXRLabelData(dev_ypbh_text_up, m_mbszclass.M_SY.str_tb_YPBH.ToString());//样品编号 setXRLabelData(dev_bgsj_text_up, DateTime.Now.ToShortDateString().ToString());//当前日期 setXRLabelData(dev_jcjgwj_text_up, str_CLJGMC);//测量结果名称 setXRLabelData(dev_ckbz_text_up, m_mbszclass.M_SY.str_tb_CKBZ.ToString());//参考标准 #endregion } /// /// 颗粒尺寸分析表 /// /// public void setParticleSizeTable(c_TemplateClass m_mbszclass) { //ElementSubscript subscript = new ElementSubscript(); // Export_ReportTemplate export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export); export_ReportTemplate.ParticleSizeTable(m_mbszclass, out DataTable surface_dt, out DataTable ls_partsize_dt, out DataTable class_dt, out DataTable subdivde_dt); for (int i=0;i< class_dt.Rows.Count;i++) { class_dt.Rows[i]["Class"] = subscript.Getsubscriptstring(class_dt.Rows[i]["Class"].ToString()); } for (int i=0;i< subdivde_dt.Rows.Count;i++) { subdivde_dt.Rows[i]["Name"] = subscript.Getsubscriptstring(subdivde_dt.Rows[i]["Name"].ToString()); subdivde_dt.Rows[i]["Class"] = subscript.Getsubscriptstring(subdivde_dt.Rows[i]["Class"].ToString()); } #region 插入数据 xrTa_ParticleSizeTable.Visible = true; xrChart_ParticelSizeCalss.Visible = true; xrChart_ParticelSizeSubdivision.Visible = true; xrLabel_size_IconQuestion_Class.Visible = true; xrLabel_size_IconQuestion_Subdivision.Visible = true; List> list_ParticelSizeData = new List>(); for (int i = 0; i < surface_dt.Rows.Count; i++) { list_ParticelSizeData.Add(switch_ParticleSize(subscript.Getsubscriptstring(surface_dt.Rows[i]["Class"].ToString()) , subscript.Getsubscriptstring(surface_dt.Rows[i]["Name"].ToString()), surface_dt.Rows[i]["total"].ToString(), surface_dt.Rows[i]["c1"].ToString(), surface_dt.Rows[i]["c2"].ToString(), surface_dt.Rows[i]["c3"].ToString(), surface_dt.Rows[i]["c4"].ToString(), surface_dt.Rows[i]["c5"].ToString(), surface_dt.Rows[i]["c6"].ToString(), surface_dt.Rows[i]["c7"].ToString())); } dev_size_1.Text = ls_partsize_dt.Rows[0]["c1"].ToString(); dev_size_2.Text = ls_partsize_dt.Rows[0]["c2"].ToString(); dev_size_3.Text = ls_partsize_dt.Rows[0]["c3"].ToString(); dev_size_4.Text = ls_partsize_dt.Rows[0]["c4"].ToString(); dev_size_5.Text = ls_partsize_dt.Rows[0]["c5"].ToString(); dev_size_6.Text = ls_partsize_dt.Rows[0]["c6"].ToString(); dev_size_7.Text = ls_partsize_dt.Rows[0]["c7"].ToString(); dev_DimensionTable_2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; dev_DimensionTable_2.Text = dev_DimensionTable_2.Text.ToString() + m_mbszclass.M_KLFXJG.str_cb_klcc_jsfs.ToString(); dev_DimensionTable_2.Font = new Font(typeface, dev_DimensionTable_2.Font.Size); for (int i = 0; i < surface_dt.Rows.Count; i++) { XRTableRow row = new XRTableRow(); XRTableCell tCell_Class = new XRTableCell(); XRTableCell tCell_Name = new XRTableCell(); XRTableCell tCell_total = new XRTableCell(); XRTableCell tCell_size_1 = new XRTableCell(); XRTableCell tCell_size_2 = new XRTableCell(); XRTableCell tCell_size_3 = new XRTableCell(); XRTableCell tCell_size_4 = new XRTableCell(); XRTableCell tCell_size_5 = new XRTableCell(); XRTableCell tCell_size_6 = new XRTableCell(); XRTableCell tCell_size_7 = new XRTableCell(); XRTableCellData(row, tCell_Class, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_Class"); XRTableCellData(row, tCell_Name, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_Name"); XRTableCellData(row, tCell_total, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_total"); XRTableCellData(row, tCell_size_1, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_1"); XRTableCellData(row, tCell_size_2, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_2"); XRTableCellData(row, tCell_size_3, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_3"); XRTableCellData(row, tCell_size_4, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_4"); XRTableCellData(row, tCell_size_5, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_5"); XRTableCellData(row, tCell_size_6, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_6"); XRTableCellData(row, tCell_size_7, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_7"); xrTa_ParticleSizeTable.Rows.Add(row); } #region 大分类chart图 // 实例化饼图对象 Series pieSeriesClass = new Series("颗粒尺寸大分类", ViewType.Pie); pieSeriesClass.ArgumentScaleType = ScaleType.Qualitative; // 项目名称 pieSeriesClass.ArgumentDataMember = "Class"; pieSeriesClass.ValueScaleType = ScaleType.Numerical; //取值字段 pieSeriesClass.ValueDataMembers.AddRange(new string[] { "total" }); (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside; //显示百分比 pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues; pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent; //设置数据源 pieSeriesClass.DataSource = class_dt; pieSeriesClass.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; // 饼图空间添加 新建的饼图对象 xrChart_ParticelSizeCalss.Series.Add(pieSeriesClass); //右上角分组视图 this.xrChart_ParticelSizeCalss.Legend.MarkerSize = new System.Drawing.Size(20, 20); this.xrChart_ParticelSizeCalss.Legend.TextOffset = 5; this.xrChart_ParticelSizeCalss.Legend.VerticalIndent = 5; this.xrChart_ParticelSizeCalss.Legend.Border.Color = Color.Red;//红色边框 #endregion #region 细分chart图 // 实例化饼图对象 Series pieSeries = new Series("颗粒尺寸细化分类", ViewType.Pie); pieSeries.ArgumentScaleType = ScaleType.Qualitative; // 项目名称 pieSeries.ArgumentDataMember = "Name"; pieSeries.ValueScaleType = ScaleType.Numerical; //取值字段 pieSeries.ValueDataMembers.AddRange(new string[] { "total" }); (pieSeries.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside; //显示百分比 pieSeries.PointOptions.PointView = PointView.ArgumentAndValues; pieSeries.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent; //设置数据源 pieSeries.DataSource = subdivde_dt; pieSeries.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; // 饼图空间添加 新建的饼图对象 xrChart_ParticelSizeSubdivision.Series.Add(pieSeries); //右上角分组视图 this.xrChart_ParticelSizeSubdivision.Legend.MarkerSize = new System.Drawing.Size(20, 20); this.xrChart_ParticelSizeSubdivision.Legend.TextOffset = 5; this.xrChart_ParticelSizeSubdivision.Legend.VerticalIndent = 5; this.xrChart_ParticelSizeSubdivision.Legend.Border.Color = Color.Red;//红色边框 #endregion #endregion } /// /// 设置插入元素分析表数据 /// /// public void setElementAvgGrid(c_TemplateClass m_mbszclass) { xrTb_ElementAnalysisTable.Visible = true; export_ReportTemplate.InsertReportTemplateTable_ElementAvgGrid(m_mbszclass, out DataTable dt1, out DataTable dt2); setXRLabelData(xrCell_Element_s1, dt1.Rows[0][2].ToString()); setXRLabelData(xrCell_Element_s2, dt1.Rows[0][3].ToString()); setXRLabelData(xrCell_Element_s3, dt1.Rows[0][4].ToString()); setXRLabelData(xrCell_Element_s4, dt1.Rows[0][5].ToString()); setXRLabelData(xrCell_Element_s5, dt1.Rows[0][6].ToString()); setXRLabelData(xrCell_Element_s6, dt1.Rows[0][7].ToString()); setXRLabelData(xrCell_Element_s7, dt1.Rows[0][8].ToString()); setXRLabelData(xrCell_Element_s8, dt1.Rows[0][9].ToString()); setXRLabelData(xrCell_Element_s9, dt1.Rows[0][10].ToString()); setXRLabelData(xrCell_Element_s10, dt1.Rows[0][11].ToString()); List> list_ElementalAnalysisData = new List>(); //ElementSubscript subscript = new ElementSubscript(); for (int i = 0; i < dt2.Rows.Count; i++) { list_ElementalAnalysisData.Add(set_ElementalAnalysis(subscript.Getsubscriptstring(dt2.Rows[i]["Class"].ToString()) , subscript.Getsubscriptstring(dt2.Rows[i]["Name"].ToString()), dt2.Rows[i]["Area"].ToString(), dt2.Rows[i][2].ToString(), dt2.Rows[i][3].ToString(), dt2.Rows[i][4].ToString(), dt2.Rows[i][5].ToString(), dt2.Rows[i][6].ToString(), dt2.Rows[i][7].ToString(), dt2.Rows[i][8].ToString(), dt2.Rows[i][9].ToString(), dt2.Rows[i][10].ToString(), dt2.Rows[i][11].ToString())); } for (int i = 0; i < dt2.Rows.Count; i++) { XRTableRow row = new XRTableRow(); XRTableCell tCell_classify = new XRTableCell(); XRTableCell tCell_subdivision = new XRTableCell(); XRTableCell tCell_area = new XRTableCell(); XRTableCell tCell_s1 = new XRTableCell(); XRTableCell tCell_s2 = new XRTableCell(); XRTableCell tCell_s3 = new XRTableCell(); XRTableCell tCell_s4 = new XRTableCell(); XRTableCell tCell_s5 = new XRTableCell(); XRTableCell tCell_s6 = new XRTableCell(); XRTableCell tCell_s7 = new XRTableCell(); XRTableCell tCell_s8 = new XRTableCell(); XRTableCell tCell_s9 = new XRTableCell(); XRTableCell tCell_s10 = new XRTableCell(); XRTableCellData_ElementAnalysis(row, tCell_classify, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "classify"); XRTableCellData_ElementAnalysis(row, tCell_subdivision, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "subdivision"); XRTableCellData_ElementAnalysis(row, tCell_area, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "Area"); XRTableCellData_ElementAnalysis(row, tCell_s1, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s1"); XRTableCellData_ElementAnalysis(row, tCell_s2, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s2"); XRTableCellData_ElementAnalysis(row, tCell_s3, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s3"); XRTableCellData_ElementAnalysis(row, tCell_s4, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s4"); XRTableCellData_ElementAnalysis(row, tCell_s5, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s5"); XRTableCellData_ElementAnalysis(row, tCell_s6, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s6"); XRTableCellData_ElementAnalysis(row, tCell_s7, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s7"); XRTableCellData_ElementAnalysis(row, tCell_s8, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s8"); XRTableCellData_ElementAnalysis(row, tCell_s9, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s9"); XRTableCellData_ElementAnalysis(row, tCell_s10, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s10"); xrTb_ElementAnalysisTable.Rows.Add(row); } } /// /// 设置插入夹杂物面积比表数据 /// /// public void setINCAtable(c_TemplateClass m_mbszclass) { //ElementSubscript subscript = new ElementSubscript(); export_ReportTemplate.GenerateINCAtable(dev_scmj_text.Text, out DataTable dt); xr_tbAreaOfInclusion.Visible = true; List> list_AreaOfInclusion = new List>(); for (int i = 0; i < dt.Rows.Count; i++) { list_AreaOfInclusion.Add(set_AreaOfInclusion(subscript.Getsubscriptstring(dt.Rows[i]["Class"].ToString()) , subscript.Getsubscriptstring(dt.Rows[i]["subdivision"].ToString()), dt.Rows[i]["Area"].ToString(), dt.Rows[i]["inca_proportion"].ToString(), dt.Rows[i]["inca_FieldRatio"].ToString())); } for (int i = 0; i < dt.Rows.Count; i++) { XRTableRow row = new XRTableRow(); XRTableCell tCell_classify = new XRTableCell(); XRTableCell tCell_subdivision = new XRTableCell(); XRTableCell tCell_area = new XRTableCell(); XRTableCell tCell_inca_proportion = new XRTableCell(); XRTableCell tCell_inca_FieldRatio = new XRTableCell(); XRTableCellData_AreaOfInclusion(row, tCell_classify, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "classify"); XRTableCellData_AreaOfInclusion(row, tCell_subdivision, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "subdivision"); XRTableCellData_AreaOfInclusion(row, tCell_area, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "Area"); XRTableCellData_AreaOfInclusion(row, tCell_inca_proportion, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_proportion"); XRTableCellData_AreaOfInclusion(row, tCell_inca_FieldRatio, dataFont, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_FieldRatio"); xr_tbAreaOfInclusion.Rows.Add(row); } } /// /// 设置插入夹杂物面积比图像 /// /// public void set_incaPIC_classify(c_TemplateClass m_mbszclass) { xrChart_incaClass.Visible = true; xrLabel_inca_pic_class.Visible = true; DataTable data = export_ReportTemplate.ClassificationIntegration(m_mbszclass, dev_sczs_text.Text); for (int i=0;i< data.Rows.Count;i++) { data.Rows[i]["Class"] = subscript.Getsubscriptstring(data.Rows[i]["Class"].ToString()); } // 实例化饼图对象 Series pieSeriesClass = new Series("夹杂物面积比分类", ViewType.Pie); pieSeriesClass.ArgumentScaleType = ScaleType.Qualitative; // 项目名称 pieSeriesClass.ArgumentDataMember = "Class"; pieSeriesClass.ValueScaleType = ScaleType.Numerical; //取值字段 pieSeriesClass.ValueDataMembers.AddRange(new string[] { "Cunt" }); (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside; //显示百分比 pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues; pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent; //设置数据源 pieSeriesClass.DataSource = data; pieSeriesClass.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; // 饼图空间添加 新建的饼图对象 xrChart_incaClass.Series.Add(pieSeriesClass); //右上角分组视图 this.xrChart_incaClass.Legend.MarkerSize = new System.Drawing.Size(20, 20); this.xrChart_incaClass.Legend.TextOffset = 5; this.xrChart_incaClass.Legend.VerticalIndent = 5; this.xrChart_incaClass.Legend.Border.Color = Color.Red;//红色边框 } public void set_incaPIC_subdivision(c_TemplateClass m_mbszclass) { xrChart_incaSubdivision.Visible = true; xrLabel_inca_pic_subdivision.Visible = true; DataTable data = export_ReportTemplate.subdivisionIntegration(m_mbszclass); for (int i=0;i /// 三元图 /// /// public void InsertReportTemplateChart_Trianglediagram(c_TemplateClass m_mbszclass) { List Color_list = new List(); Color_list.Add(Color.FromArgb(238, 175, 14)); Color_list.Add(Color.FromArgb(0, 0, 238)); Color_list.Add(Color.FromArgb(0, 205, 0)); Color_list.Add(Color.FromArgb(238, 0, 0)); Color_list.Add(Color.FromArgb(153, 50, 204)); Color_list.Add(Color.FromArgb(255, 102, 153)); Color_list.Add(Color.FromArgb(160, 82, 45)); Color_list.Add(Color.FromArgb(181, 181, 181)); Color_list.Add(Color.FromArgb(250, 235, 215)); Color_list.Add(Color.FromArgb(238, 130, 238)); Color_list.Add(Color.FromArgb(174, 238, 238)); Color_list.Add(Color.FromArgb(247, 172, 189)); Color_list.Add(Color.FromArgb(202, 134, 135)); Color_list.Add(Color.FromArgb(34, 90, 31)); Color_list.Add(Color.FromArgb(238, 175, 14)); Color_list.Add(Color.FromArgb(0, 0, 238)); Color_list.Add(Color.FromArgb(0, 205, 0)); Color_list.Add(Color.FromArgb(238, 0, 0)); Color_list.Add(Color.FromArgb(153, 50, 204)); Color_list.Add(Color.FromArgb(255, 102, 153)); Color_list.Add(Color.FromArgb(160, 82, 45)); Color_list.Add(Color.FromArgb(181, 181, 181)); Color_list.Add(Color.FromArgb(250, 235, 215)); Color_list.Add(Color.FromArgb(238, 130, 238)); Color_list.Add(Color.FromArgb(174, 238, 238)); Color_list.Add(Color.FromArgb(247, 172, 189)); Color_list.Add(Color.FromArgb(202, 134, 135)); Color_list.Add(Color.FromArgb(34, 90, 31)); //for (int i = 0; i < m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count; i++) //{ // set_syt_pic_legend(Color_list); // set_syt_pic( m_mbszclass, m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i], Color_list); // XRPageBreak xRPage = new XRPageBreak(); // xRPage.LocationF = new PointF(0, LowPlace + 2); // this.Detail.Controls.Add(xRPage); //} for (int i = 0; i < m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count; i=i+4) { set_syt_pic_legend(Color_list); if (i< m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(m_mbszclass, m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i], Color_list, new PointF(10f, LowPlace + 2)); } if (i+1 < m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(m_mbszclass, m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i+1], Color_list, new PointF(343.8f, LowPlace + 2)); } if (i+2 < m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(m_mbszclass, m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i+2], Color_list, new PointF(10f, LowPlace + 345+5)); } if (i + 3 < m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(m_mbszclass, m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i+3], Color_list, new PointF(343.8f, LowPlace + 345+5)); } //set_syt_pic(m_mbszclass, m_mbszclass.M_SYXT.list_lbv_syxt_mblb_index[i], Color_list); XRLine rLine = new XRLine(); rLine.SizeF = new SizeF(5f, 698.5f); rLine.LineDirection = LineDirection.Vertical; rLine.LocationF = new PointF(335f, LowPlace+2); this.Detail.Controls.Add(rLine); XRLine rLine_level = new XRLine(); rLine_level.SizeF = new SizeF(668f, 5f); rLine_level.LineDirection = LineDirection.Horizontal; rLine_level.LocationF = new PointF(10f, LowPlace + 345); this.Detail.Controls.Add(rLine_level); XRPageBreak xRPage = new XRPageBreak(); xRPage.LocationF = new PointF(0, LowPlace + 850); LowPlace = LowPlace + 870; this.Detail.Controls.Add(xRPage); } } /// /// 颗粒列表 /// /// public void set_kllb_data(c_TemplateClass m_mbszclass) { XRPageBreak xRPage = new XRPageBreak(); xRPage.Name = "kllb_Page"; xRPage.LocationF = new PointF(0, LowPlace + 2); this.Detail.Controls.Add(xRPage); xrTable_kllb_surface.LocationF = new PointF(0, LowPlace + 5); xrTable_kllb_surface.Visible = true; LowPlace = xrTable_kllb_surface.LocationF.Y + xrTable_kllb_surface.SizeF.Height; // Export_ReportTemplate export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export); DataTable dataTable = export_ReportTemplate.Get_dev_kllb_data(m_mbszclass); for (int i=0;i /// 颗粒列表 帧图 /// /// public void set_kllb_data_frame(c_TemplateClass m_mbszclass) { // Export_ReportTemplate export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export); export_ReportTemplate.Get_dev_kllb_data_frame(m_mbszclass, out DataTable dt_pic, out List listData); for (int i=0;i< listData.Count;i++) { for (int a=0;a< listData[i].Rows.Count;a++) { listData[i].Rows[a]["Class"] = subscript.Getsubscriptstring(listData[i].Rows[a]["Class"].ToString()); } } for (int i = 0; i < dt_pic.Rows.Count; i++) { //分页符 XRPageBreak xRPage = new XRPageBreak(); xRPage.Name = "framePage_" + i.ToString(); xRPage.LocationF = new PointF(0, LowPlace); LowPlace = LowPlace + 10; this.Detail.Controls.Add(xRPage); //表头 XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableRow Template_Rows_2 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); XRTableCell Template_Rows2_Cell_1 = new XRTableCell(); Template_Rows1_Cell_1.WidthF = 688f; Template_Rows2_Cell_1.WidthF = 688f; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template_Rows_2.Controls.Add(Template_Rows2_Cell_1); Template.Rows.Add(Template_Rows_1); Template.Rows.Add(Template_Rows_2); Template.SizeF = new SizeF(688f, 25f); Template.Rows[0].Cells[0].Text = "帧图 " + dt_pic.Rows[i]["id"]; Template.LocationF = new PointF(0, LowPlace); Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; Template.Rows[0].Font = new Font(typeface, 14f, FontStyle.Bold); Template.Rows[0].BackColor = Color.DarkGray; this.Detail.Controls.Add(Template); //图片 XRPictureBox xRPicture = new XRPictureBox(); xRPicture.Name = "frameName_" + i.ToString(); xRPicture.SizeF = new SizeF(688f, 485f); xRPicture.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter; xRPicture.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze; ImageSource imageSource = new ImageSource((Bitmap)dt_pic.Rows[i]["Field_pic"]); xRPicture.ImageSource = imageSource; xRPicture.LocationF = new PointF(0, LowPlace + Template.SizeF.Height); xRPicture.Borders = DevExpress.XtraPrinting.BorderSide.All; this.Detail.Controls.Add(xRPicture); LowPlace = LowPlace + xRPicture.SizeF.Height + Template.SizeF.Height; for (int a = 0; a < listData.Count; a++) { if (dt_pic.Rows[i]["id"].ToString() == listData[a].Rows[0]["FieldId"].ToString()) { for (int b = 0; b < listData[a].Rows.Count; b++) { //数据表 XRTable xRTable = add_XRTable_frame(); xRTable.Rows[0].Cells[0].Text = "图像"; xRTable.Rows[0].Cells[1].Text = "分类"; xRTable.Rows[0].Cells[2].Text = m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p1.ToString(); xRTable.Rows[0].Cells[3].Text = m_mbszclass.M_KLLBXX.str_cb_kllb_chartSort_p2.ToString(); XRPictureBox xRPicture1 = new XRPictureBox(); xRPicture1.ImageSource = new ImageSource((Bitmap)listData[a].Rows[b]["pic"]); xRPicture1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze; xRPicture1.SizeF = new SizeF(94, 35); //xRPicture1.BackColor = Color.DarkGray; xRTable.Rows[1].Cells[0].Controls.Add(xRPicture1); xRTable.Rows[1].Cells[1].Text = listData[a].Rows[b]["Class"].ToString(); xRTable.Rows[1].Cells[2].Text = listData[a].Rows[b]["pid"].ToString(); xRTable.Rows[1].Cells[3].Text = listData[a].Rows[b]["Size"].ToString(); for (int c = 0; c < 10; c++) { xRTable.Rows[2].Cells[c].Text = listData[a].Rows[b]["ColName" + (c + 1).ToString()].ToString(); xRTable.Rows[3].Cells[c].Text = listData[a].Rows[b]["ColVal" + (c + 1).ToString()].ToString(); } xRTable.LocationF = new PointF(0, LowPlace + 5); this.Detail.Controls.Add(xRTable); LowPlace = LowPlace + xRTable.SizeF.Height + 5 + 2; } } } } } #endregion private void setTableCellData(XRTableCell cell, string str) { cell.Text = str; cell.Font = new Font(typeface, cell.Font.Size); } private void setXRLabelData(XRLabel cell, string str) { cell.Text = str; cell.Font = new Font(typeface, cell.Font.Size); } /// /// 读取报告控件中英文 /// /// /// /// private string GetlanguageData(string strName, DataTable languageData) { for (int i = 0; i < languageData.Rows.Count; i++) { if (strName == languageData.Rows[i]["Name"].ToString()) { return languageData.Rows[i]["Text"].ToString(); } } return ""; } #region 整理成DEV需要的数据格式 private void XRTableCellData(XRTableRow xR, XRTableCell rTableCell, string typeface, DevExpress.XtraPrinting.TextAlignment textAlignment, string cellText, List switchDEVDatas, string cellName) { rTableCell.TextAlignment = textAlignment; rTableCell.Font = new Font(typeface, rTableCell.Font.Size); xR.Cells.Add(rTableCell); rTableCell.DataBindings.Add(cellText, switchDEVDatas, cellName); } private void XRTableCellData_ElementAnalysis(XRTableRow xR, XRTableCell rTableCell, string typeface, DevExpress.XtraPrinting.TextAlignment textAlignment, string cellText, List switchDEVDatas, string cellName) { rTableCell.TextAlignment = textAlignment; rTableCell.Font = new Font(typeface, rTableCell.Font.Size); xR.Cells.Add(rTableCell); rTableCell.DataBindings.Add(cellText, switchDEVDatas, cellName); } private void XRTableCellData_AreaOfInclusion(XRTableRow xR, XRTableCell rTableCell, string typeface, DevExpress.XtraPrinting.TextAlignment textAlignment, string cellText, List switchDEVDatas, string cellName) { rTableCell.TextAlignment = textAlignment; rTableCell.Font = new Font(typeface, rTableCell.Font.Size); xR.Cells.Add(rTableCell); rTableCell.DataBindings.Add(cellText, switchDEVDatas, cellName); } /// /// 颗粒尺寸表向list中插入数据 /// /// /// /// /// /// /// /// /// /// /// /// private List switch_ParticleSize(string Class, string Name, string total, string size_1, string size_2, string size_3, string size_4, string size_5, string size_6, string size_7) { List oTS_DEVs = new List(); oTS_DEVs.Add(new ParticleSizeDEVData { size_total = total, size_Class = Class, size_Name = Name, size_1 = size_1, size_2 = size_2, size_3 = size_3, size_4 = size_4, size_5 = size_5, size_6 = size_6, size_7 = size_7 }); return oTS_DEVs; } /// /// 元素分析表向list中插入数据 /// /// /// /// /// /// /// /// /// /// /// /// /// /// /// private List set_ElementalAnalysis(string classify, string subdivision, string area, string s1, string s2, string s3, string s4, string s5, string s6, string s7, string s8, string s9, string s10) { List oTS_DEVs = new List(); oTS_DEVs.Add(new ElementalAnalysisDEVData { classify = classify, subdivision = subdivision, Area = area, s1 = s1, s2 = s2, s3 = s3, s4 = s4, s5 = s5, s6 = s6, s7 = s7, s8 = s8, s9 = s9, s10 = s10 }); return oTS_DEVs; } /// /// 夹杂物分析表(清洁度不需要) /// /// /// /// /// /// /// private List set_AreaOfInclusion(string classify, string subdivision, string Area, string inca_proportion, string inca_FieldRatio) { List oTS_DEVs = new List(); oTS_DEVs.Add(new AreaOfInclusionDEVData { classify = classify, subdivision = subdivision, Area = Area, inca_proportion = inca_proportion, inca_FieldRatio = inca_FieldRatio }); return oTS_DEVs; } #endregion #region 三元相图数据 /// /// 动态生成加载三元图图片加分页符 /// /// /// /// /// private void set_syt_pic(c_TemplateClass m_mbszclass, int index, List Color_list) { XRPictureBox xRPicture = new XRPictureBox(); xRPicture.LocationF = new PointF(10f, LowPlace); xRPicture.SizeF = syx_Size; ImageSource imageSource = new ImageSource(export_ReportTemplate.DrawATernaryPicture(index, m_mbszclass,Color_list)); xRPicture.ImageSource = imageSource; xRPicture.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; xRPicture.Visible = true; this.Detail.Controls.Add(xRPicture); LowPlace = syx_Size.Height + LowPlace + 10; } private void set_syt_pic(c_TemplateClass m_mbszclass, int index, List Color_list, PointF position) { XRPictureBox xRPicture = new XRPictureBox(); xRPicture.LocationF = position; xRPicture.SizeF = new SizeF(321f, 330.2f); ImageSource imageSource = new ImageSource(export_ReportTemplate.DrawATernaryPicture(index, m_mbszclass, Color_list)); xRPicture.ImageSource = imageSource; xRPicture.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; xRPicture.Visible = true; this.Detail.Controls.Add(xRPicture); //LowPlace = syx_Size.Height + LowPlace ; } private void set_syt_pic_legend(List Color_list) { XRPictureBox xRPicture_legend = new XRPictureBox(); xRPicture_legend.LocationF = new PointF(95f, LowPlace); xRPicture_legend.SizeF = new SizeF(504f, 120.85f); xRPicture_legend.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; ImageSource imageSource_legend = new ImageSource(export_ReportTemplate.DrawATernaryDiagramLegend(Color_list)); xRPicture_legend.ImageSource = imageSource_legend; LowPlace = LowPlace + xRPicture_legend.SizeF.Height; this.Detail.Controls.Add(xRPicture_legend); } #endregion #region 颗粒列表 private XRTable add_XRTable() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); XRTableCell Template_Rows1_Cell_2 = new XRTableCell(); XRTableCell Template_Rows1_Cell_3 = new XRTableCell(); XRTableCell Template_Rows1_Cell_4 = new XRTableCell(); XRTableCell Template_Rows1_Cell_5 = new XRTableCell(); XRTableCell Template_Rows1_Cell_6 = new XRTableCell(); XRTableRow Template_Rows_2 = new XRTableRow(); XRTableCell Template_Rows2_Cell_1 = new XRTableCell(); XRTableCell Template_Rows2_Cell_2 = new XRTableCell(); XRTableCell Template_Rows2_Cell_3 = new XRTableCell(); XRTableCell Template_Rows2_Cell_4 = new XRTableCell(); XRTableCell Template_Rows2_Cell_5 = new XRTableCell(); XRTableCell Template_Rows2_Cell_6 = new XRTableCell(); XRTableRow Template_Rows_3 = new XRTableRow(); XRTableCell Template_Rows3_Cell_1 = new XRTableCell(); XRTableCell Template_Rows3_Cell_2 = new XRTableCell(); XRTableCell Template_Rows3_Cell_3 = new XRTableCell(); XRTableCell Template_Rows3_Cell_4 = new XRTableCell(); XRTableCell Template_Rows3_Cell_5 = new XRTableCell(); XRTableCell Template_Rows3_Cell_6 = new XRTableCell(); XRTableCell Template_Rows3_Cell_7 = new XRTableCell(); XRTableCell Template_Rows3_Cell_8 = new XRTableCell(); XRTableCell Template_Rows3_Cell_9 = new XRTableCell(); XRTableCell Template_Rows3_Cell_10 = new XRTableCell(); XRTableCell Template_Rows3_Cell_11 = new XRTableCell(); XRTableRow Template_Rows_4 = new XRTableRow(); XRTableCell Template_Rows4_Cell_1 = new XRTableCell(); XRTableCell Template_Rows4_Cell_2 = new XRTableCell(); XRTableCell Template_Rows4_Cell_3 = new XRTableCell(); XRTableCell Template_Rows4_Cell_4 = new XRTableCell(); XRTableCell Template_Rows4_Cell_5 = new XRTableCell(); XRTableCell Template_Rows4_Cell_6 = new XRTableCell(); XRTableCell Template_Rows4_Cell_7 = new XRTableCell(); XRTableCell Template_Rows4_Cell_8 = new XRTableCell(); XRTableCell Template_Rows4_Cell_9 = new XRTableCell(); XRTableCell Template_Rows4_Cell_10 = new XRTableCell(); XRTableCell Template_Rows4_Cell_11 = new XRTableCell(); XRTableRow Template_Rows_5 = new XRTableRow(); XRTableCell Template_Rows5_Cell_1 = new XRTableCell(); Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template_Rows1_Cell_1.WidthF = 115.67f; Template_Rows1_Cell_2.WidthF = 53f; Template_Rows1_Cell_3.WidthF = 211.79f; Template_Rows1_Cell_4.WidthF = 102.51f; Template_Rows1_Cell_5.WidthF = 102.51f; Template_Rows1_Cell_6.WidthF = 102.51f; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template_Rows_1.Controls.Add(Template_Rows1_Cell_2); Template_Rows_1.Controls.Add(Template_Rows1_Cell_3); Template_Rows_1.Controls.Add(Template_Rows1_Cell_4); Template_Rows_1.Controls.Add(Template_Rows1_Cell_5); Template_Rows_1.Controls.Add(Template_Rows1_Cell_6); Template_Rows2_Cell_1.WidthF = 115.67f; Template_Rows2_Cell_2.WidthF = 53f; Template_Rows2_Cell_3.WidthF = 211.79f; Template_Rows2_Cell_4.WidthF = 102.51f; Template_Rows2_Cell_5.WidthF = 102.51f; Template_Rows2_Cell_6.WidthF = 102.51f; Template_Rows_2.Controls.Add(Template_Rows2_Cell_1); Template_Rows_2.Controls.Add(Template_Rows2_Cell_2); Template_Rows_2.Controls.Add(Template_Rows2_Cell_3); Template_Rows_2.Controls.Add(Template_Rows2_Cell_4); Template_Rows_2.Controls.Add(Template_Rows2_Cell_5); Template_Rows_2.Controls.Add(Template_Rows2_Cell_6); Template_Rows3_Cell_1.WidthF = 115.67f; Template_Rows3_Cell_2.WidthF = 57.23f;//63.59f Template_Rows3_Cell_3.WidthF = 57.23f; Template_Rows3_Cell_4.WidthF = 57.23f; Template_Rows3_Cell_5.WidthF = 57.23f; Template_Rows3_Cell_6.WidthF = 57.23f; Template_Rows3_Cell_7.WidthF = 57.23f; Template_Rows3_Cell_8.WidthF = 57.23f; Template_Rows3_Cell_9.WidthF = 57.23f; Template_Rows3_Cell_10.WidthF = 57.23f; Template_Rows3_Cell_11.WidthF = 57.23f; Template_Rows_3.Controls.Add(Template_Rows3_Cell_1); Template_Rows_3.Controls.Add(Template_Rows3_Cell_2); Template_Rows_3.Controls.Add(Template_Rows3_Cell_3); Template_Rows_3.Controls.Add(Template_Rows3_Cell_4); Template_Rows_3.Controls.Add(Template_Rows3_Cell_5); Template_Rows_3.Controls.Add(Template_Rows3_Cell_6); Template_Rows_3.Controls.Add(Template_Rows3_Cell_7); Template_Rows_3.Controls.Add(Template_Rows3_Cell_8); Template_Rows_3.Controls.Add(Template_Rows3_Cell_9); Template_Rows_3.Controls.Add(Template_Rows3_Cell_10); Template_Rows_3.Controls.Add(Template_Rows3_Cell_11); Template_Rows4_Cell_1.WidthF = 115.67f; Template_Rows4_Cell_2.WidthF = 57.23f;//63.59f Template_Rows4_Cell_3.WidthF = 57.23f; Template_Rows4_Cell_4.WidthF = 57.23f; Template_Rows4_Cell_5.WidthF = 57.23f; Template_Rows4_Cell_6.WidthF = 57.23f; Template_Rows4_Cell_7.WidthF = 57.23f; Template_Rows4_Cell_8.WidthF = 57.23f; Template_Rows4_Cell_9.WidthF = 57.23f; Template_Rows4_Cell_10.WidthF = 57.23f; Template_Rows4_Cell_11.WidthF = 57.23f; Template_Rows_4.Controls.Add(Template_Rows4_Cell_1); Template_Rows_4.Controls.Add(Template_Rows4_Cell_2); Template_Rows_4.Controls.Add(Template_Rows4_Cell_3); Template_Rows_4.Controls.Add(Template_Rows4_Cell_4); Template_Rows_4.Controls.Add(Template_Rows4_Cell_5); Template_Rows_4.Controls.Add(Template_Rows4_Cell_6); Template_Rows_4.Controls.Add(Template_Rows4_Cell_7); Template_Rows_4.Controls.Add(Template_Rows4_Cell_8); Template_Rows_4.Controls.Add(Template_Rows4_Cell_9); Template_Rows_4.Controls.Add(Template_Rows4_Cell_10); Template_Rows_4.Controls.Add(Template_Rows4_Cell_11); Template_Rows_5.Controls.Add(Template_Rows5_Cell_1); Template.Rows.Add(Template_Rows_1); Template.Rows.Add(Template_Rows_2); Template.Rows.Add(Template_Rows_3); Template.Rows.Add(Template_Rows_4); Template.Rows.Add(Template_Rows_5); Template.SizeF = new SizeF(688f, 125); Template.Rows[0].Font = new Font(dataFont, 14f, FontStyle.Bold); Template.Rows[2].Font = new Font(dataFont, 14f, FontStyle.Bold); Template.Rows[1].Font = new Font(dataFont, 14f); Template.Rows[3].Font = new Font(dataFont, 14f); Template.Rows[0].BackColor = Color.DarkGray; Template.Rows[2].BackColor = Color.DarkGray; Template.Rows[0].Cells[0].BackColor = Color.Transparent; Template.Rows[2].Cells[0].BackColor = Color.Transparent; Template.Rows[2].BackColor = Color.DarkGray; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.Rows[0].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top; Template.Rows[1].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left; Template.Rows[2].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left; Template.Rows[3].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom; return Template; } private void add_kllb(c_TemplateClass m_mbszclass, DataTable dataTable, int position, XRTable xRTable) { XRTable table = new XRTable(); table = xRTable; table.Name = "table_kllb_" + position.ToString(); table.Rows[0].Cells[1].Text = "ID"; table.Rows[0].Cells[2].Text = "Class"; table.Rows[0].Cells[3].Text = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p1.ToString(); table.Rows[0].Cells[4].Text = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p2.ToString(); table.Rows[0].Cells[5].Text = m_mbszclass.M_KLLBXX.str_cb_kllb_sort_p3.ToString(); table.Rows[1].Cells[1].Text = dataTable.Rows[position]["pid"].ToString(); table.Rows[1].Cells[2].Text = dataTable.Rows[position]["Class"].ToString(); table.Rows[1].Cells[3].Text = dataTable.Rows[position]["Size"].ToString(); table.Rows[1].Cells[4].Text = dataTable.Rows[position]["DMAX"].ToString(); table.Rows[1].Cells[5].Text = dataTable.Rows[position]["DMIN"].ToString(); for (int i = 1; i < 11; i++) { table.Rows[2].Cells[i].Text = dataTable.Rows[position]["ColName" + i.ToString()].ToString(); string str_ColVal = ""; if (dataTable.Rows[position]["ColVal" + i.ToString()].ToString() == "0") { str_ColVal = ""; } else { str_ColVal = dataTable.Rows[position]["ColVal" + i.ToString()].ToString(); } table.Rows[3].Cells[i].Text = str_ColVal; } //XRPictureBox xRPicture1 = new XRPictureBox(); //xRPicture1.ImageSource = new ImageSource((Bitmap)dataTable.Rows[position]["p1"]); //xRPicture1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze; //xRPicture1.BackColor = Color.DarkGray; //xRPicture1.SizeF=new SizeF(107f,122f); //table.Rows[4].Cells[0].Controls.Add(xRPicture1); table.Rows[4].Cells[0].BackColor = Color.DarkGray; table.Rows[4].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; XRPictureBox xRPicture2 = new XRPictureBox(); xRPicture2.ImageSource = new ImageSource((Bitmap)dataTable.Rows[position]["p3"]); xRPicture2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.AutoSize; table.Rows[4].Cells[0].Controls.Add(xRPicture2); table.Visible = true; table.LocationF = new PointF(0, LowPlace); table.SendToBack(); //table.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; this.Detail.Controls.Add(table); XRPictureBox xRPicture_pic = new XRPictureBox(); xRPicture_pic.Name = "Picture_kllb_" + position.ToString(); xRPicture_pic.ImageSource = new ImageSource((Image)dataTable.Rows[position]["p1"]); xRPicture_pic.LocationF = new PointF(1, LowPlace); xRPicture_pic.Visible = true; xRPicture_pic.BackColor = Color.DarkGray; xRPicture_pic.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze; xRPicture_pic.SizeF = new SizeF(115f, 96.88f); xRPicture_pic.BringToFront(); this.Detail.Controls.Add(xRPicture_pic); LowPlace = table.SizeF.Height + LowPlace+5; } #endregion #region 颗粒列表帧图 private XRTable add_XRTable_frame() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableRow Template_Rows_2 = new XRTableRow(); XRTableRow Template_Rows_3 = new XRTableRow(); XRTableRow Template_Rows_4 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); XRTableCell Template_Rows1_Cell_2 = new XRTableCell(); XRTableCell Template_Rows1_Cell_3 = new XRTableCell(); XRTableCell Template_Rows1_Cell_4 = new XRTableCell(); XRTableCell Template_Rows2_Cell_1 = new XRTableCell(); XRTableCell Template_Rows2_Cell_2 = new XRTableCell(); XRTableCell Template_Rows2_Cell_3 = new XRTableCell(); XRTableCell Template_Rows2_Cell_4 = new XRTableCell(); XRTableCell Template_Rows3_Cell_1 = new XRTableCell(); XRTableCell Template_Rows3_Cell_2 = new XRTableCell(); XRTableCell Template_Rows3_Cell_3 = new XRTableCell(); XRTableCell Template_Rows3_Cell_4 = new XRTableCell(); XRTableCell Template_Rows3_Cell_5 = new XRTableCell(); XRTableCell Template_Rows3_Cell_6 = new XRTableCell(); XRTableCell Template_Rows3_Cell_7 = new XRTableCell(); XRTableCell Template_Rows3_Cell_8 = new XRTableCell(); XRTableCell Template_Rows3_Cell_9 = new XRTableCell(); XRTableCell Template_Rows3_Cell_10 = new XRTableCell(); XRTableCell Template_Rows4_Cell_1 = new XRTableCell(); XRTableCell Template_Rows4_Cell_2 = new XRTableCell(); XRTableCell Template_Rows4_Cell_3 = new XRTableCell(); XRTableCell Template_Rows4_Cell_4 = new XRTableCell(); XRTableCell Template_Rows4_Cell_5 = new XRTableCell(); XRTableCell Template_Rows4_Cell_6 = new XRTableCell(); XRTableCell Template_Rows4_Cell_7 = new XRTableCell(); XRTableCell Template_Rows4_Cell_8 = new XRTableCell(); XRTableCell Template_Rows4_Cell_9 = new XRTableCell(); XRTableCell Template_Rows4_Cell_10 = new XRTableCell(); Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template_Rows1_Cell_1.WidthF = 94.63f; Template_Rows1_Cell_2.WidthF = 290f; Template_Rows1_Cell_3.WidthF = 155.73f; Template_Rows1_Cell_4.WidthF = 155.73f; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template_Rows_1.Controls.Add(Template_Rows1_Cell_2); Template_Rows_1.Controls.Add(Template_Rows1_Cell_3); Template_Rows_1.Controls.Add(Template_Rows1_Cell_4); Template_Rows2_Cell_1.WidthF = 94.63f; Template_Rows2_Cell_2.WidthF = 290f; Template_Rows2_Cell_3.WidthF = 155.73f; Template_Rows2_Cell_4.WidthF = 155.73f; Template_Rows_2.Controls.Add(Template_Rows2_Cell_1); Template_Rows_2.Controls.Add(Template_Rows2_Cell_2); Template_Rows_2.Controls.Add(Template_Rows2_Cell_3); Template_Rows_2.Controls.Add(Template_Rows2_Cell_4); Template_Rows3_Cell_1.WidthF = 68.8f; Template_Rows3_Cell_2.WidthF = 68.8f; Template_Rows3_Cell_3.WidthF = 68.8f; Template_Rows3_Cell_4.WidthF = 68.8f; Template_Rows3_Cell_5.WidthF = 68.8f; Template_Rows3_Cell_6.WidthF = 68.8f; Template_Rows3_Cell_7.WidthF = 68.8f; Template_Rows3_Cell_8.WidthF = 68.8f; Template_Rows3_Cell_9.WidthF = 68.8f; Template_Rows3_Cell_10.WidthF = 68.8f; Template_Rows_3.Controls.Add(Template_Rows3_Cell_1); Template_Rows_3.Controls.Add(Template_Rows3_Cell_2); Template_Rows_3.Controls.Add(Template_Rows3_Cell_3); Template_Rows_3.Controls.Add(Template_Rows3_Cell_4); Template_Rows_3.Controls.Add(Template_Rows3_Cell_5); Template_Rows_3.Controls.Add(Template_Rows3_Cell_6); Template_Rows_3.Controls.Add(Template_Rows3_Cell_7); Template_Rows_3.Controls.Add(Template_Rows3_Cell_8); Template_Rows_3.Controls.Add(Template_Rows3_Cell_9); Template_Rows_3.Controls.Add(Template_Rows3_Cell_10); Template_Rows4_Cell_1.WidthF = 68.8f; Template_Rows4_Cell_2.WidthF = 68.8f; Template_Rows4_Cell_3.WidthF = 68.8f; Template_Rows4_Cell_4.WidthF = 68.8f; Template_Rows4_Cell_5.WidthF = 68.8f; Template_Rows4_Cell_6.WidthF = 68.8f; Template_Rows4_Cell_7.WidthF = 68.8f; Template_Rows4_Cell_8.WidthF = 68.8f; Template_Rows4_Cell_9.WidthF = 68.8f; Template_Rows4_Cell_10.WidthF = 68.8f; Template_Rows_4.Controls.Add(Template_Rows4_Cell_1); Template_Rows_4.Controls.Add(Template_Rows4_Cell_2); Template_Rows_4.Controls.Add(Template_Rows4_Cell_3); Template_Rows_4.Controls.Add(Template_Rows4_Cell_4); Template_Rows_4.Controls.Add(Template_Rows4_Cell_5); Template_Rows_4.Controls.Add(Template_Rows4_Cell_6); Template_Rows_4.Controls.Add(Template_Rows4_Cell_7); Template_Rows_4.Controls.Add(Template_Rows4_Cell_8); Template_Rows_4.Controls.Add(Template_Rows4_Cell_9); Template_Rows_4.Controls.Add(Template_Rows4_Cell_10); Template.Rows.Add(Template_Rows_1); Template.Rows.Add(Template_Rows_2); Template.Rows.Add(Template_Rows_3); Template.Rows.Add(Template_Rows_4); Template.Rows[0].BackColor = Color.DarkGray; Template.Rows[2].BackColor = Color.DarkGray; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.SizeF = new SizeF(688f, 30); Template.Font= new Font(dataFont, 14f); return Template; } #endregion } public class ParticleSizeDEVData { public string size_Class { get; set; } public string size_Name { get; set; } public string size_total { get; set; } public string size_1 { get; set; } public string size_2 { get; set; } public string size_3 { get; set; } public string size_4 { get; set; } public string size_5 { get; set; } public string size_6 { get; set; } public string size_7 { get; set; } } public class ElementalAnalysisDEVData { public string classify { get; set; } public string subdivision { get; set; } public string Area { get; set; } public string s1 { get; set; } public string s2 { get; set; } public string s3 { get; set; } public string s4 { get; set; } public string s5 { get; set; } public string s6 { get; set; } public string s7 { get; set; } public string s8 { get; set; } public string s9 { get; set; } public string s10 { get; set; } } public class AreaOfInclusionDEVData { public string classify { get; set; } public string subdivision { get; set; } public string Area { get; set; } public string inca_proportion { get; set; } public string inca_FieldRatio { get; set; } } }