using DevExpress.Utils; using DevExpress.XtraCharts; using DevExpress.XtraPrinting.Drawing; using DevExpress.XtraReports.UI; using OTSCommon; using OTSCommon.Model; using OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration; using OTSIncAReportApp.OTSSampleReportInfo; using OTSIncAReportApp.OTSTemplateDesigner; using OTSIncAReportGrids; using System; using System.Collections.Generic; using System.Data; using System.Drawing; using System.Windows.Forms; 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 Schriftart_chinese = "微软雅黑"; string Schriftart_english = "Calibri"; List TemplateList; float NeueStartposition = 3300f; private string FieldOfViewArea = ""; DataTable FrameData = new DataTable(); ElementSubscript subscript = new ElementSubscript(); c_TemplateClass TemplateClass; DataTable languageData = new DataTable(); private string ComputeMode = "";//计算方式 private string ComputeModeName = "";//计算方式 private string PartSizeFile = "";//粒级文件 public OTS_DEVReport(OTSReport_Export in_export, c_TemplateClass a_Template, frmReportApp a_frmReportApp) { TemplateClass = a_Template; m_otsreport_export = in_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()); } } //string con = a_frmReportApp.m_conditionChoose.m_conditionData.GetPropItemDisplayValueByPropItemName(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE).ToString(); string con = ""; DataSet ds1 = XMLoperate.GetXmlData(Application.StartupPath + RptConfigFile.m_ReportMgrParamFile, "XMLData"); DataTable dt1 = ds1.Tables["Member"]; string po = ""; foreach (DataRow element in dt1.Rows) { string RegName = element["RegName"].ToString(); if (RegName == "PartSizeFile") { PartSizeFile = element["name"].ToString(); //comboBox_PartiSizeFileFolder.SelectedIndex = comboBox_PartiSizeFileFolder.Items.IndexOf(element["name"].ToString()); } if (RegName == "TRIO_CHART_TYPE") { po = element["strValue"].ToString(); //cB_sjtmbwj.SelectedIndex = cB_sjtmbwj.Items.IndexOf(element["strValue"].ToString()); } if (RegName == "SIZE_CAL_METHOD_TYPE") { po = element["strValue"].ToString(); //cB_SIZE_CAL_METHOD_TYPE.SelectedIndex = cB_SIZE_CAL_METHOD_TYPE.Items.IndexOf(element["strValue"].ToString()); } } for (int i=0;i< dt1.Rows.Count;i++) { if (dt1.Rows[i]["RegName"].ToString()== "SIZE_CAL_METHOD_TYPE") { con = dt1.Rows[i]["strValue"].ToString(); } } switch (con) { case "DMAX": po = "DMAX"; break; case "DMIN": po = "DMIN"; break; case "ECD": po = "Area"; break; case "FERET": po = "DFERET"; break; } if(po=="") { ComputeMode = "Area"; ComputeModeName = "ECD"; } else { ComputeMode = po; ComputeModeName = con; } InitializeComponent(); } #region 接口 /// /// 国际化显示 /// /// public void International_language(DataTable a_languageData) { languageData = a_languageData.Copy(); setXRLabelData(dev_ypbh_up, GetlanguageData(dev_ypbh_up.Name.ToString(), languageData, dev_ypbh_up.Text));//样品编号(中间的) setXRLabelData(dev_bgsj_up, GetlanguageData(dev_bgsj_up.Name.ToString(), languageData, dev_bgsj_up.Text));//报告时间(中间的) //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, dev_ypsm.Text));//表中样品说明 setXRLabelData(dev_jcjgwj, GetlanguageData(dev_jcjgwj.Name.ToString(), languageData, dev_jcjgwj.Text));//表中测量结果名称 setXRLabelData(dev_cljggk, GetlanguageData(dev_cljggk.Name.ToString(), languageData, dev_cljggk.Text));//表中测量结果概况 setXRLabelData(dev_yxsj, GetlanguageData(dev_yxsj.Name.ToString(), languageData, dev_yxsj.Text));//表中运行时间 setXRLabelData(dev_sczs, GetlanguageData(dev_sczs.Name.ToString(), languageData, dev_sczs.Text));//表中视场总数 setXRLabelData(dev_flfa, GetlanguageData(dev_flfa.Name.ToString(), languageData, dev_flfa.Text));//表中分类方案 setXRLabelData(dev_ckbz, GetlanguageData(dev_ckbz.Name.ToString(), languageData, dev_ckbz.Text));//表中参考标准 setXRLabelData(dev_yjctz, GetlanguageData(dev_yjctz.Name.ToString(), languageData, dev_yjctz.Text));//表中已检测特征 setXRLabelData(dev_scmj, GetlanguageData(dev_scmj.Name.ToString(), languageData, dev_scmj.Text));//表中视场面积 setXRLabelData(dev_bgsj, GetlanguageData(dev_bgsj.Name.ToString(), languageData, dev_bgsj.Text));//表中报告时间 setXRLabelData(dev_fdbs, GetlanguageData(dev_fdbs.Name.ToString(), languageData, dev_fdbs.Text));//表中放大倍数 //颗粒列表图 setXRLabelData(xrLabel_size_IconQuestion_Class, GetlanguageData(xrLabel_size_IconQuestion_Class.Name.ToString(), languageData, xrLabel_size_IconQuestion_Class.Text));//大类图表头 setXRLabelData(xrLabel_size_IconQuestion_Subdivision, GetlanguageData(xrLabel_size_IconQuestion_Subdivision.Name.ToString(), languageData, xrLabel_size_IconQuestion_Subdivision.Text));//细分类表头 //夹杂物面积比 //夹杂物面积比图 setXRLabelData(xrLabel_inca_pic_class, GetlanguageData(xrLabel_inca_pic_class.Name.ToString(), languageData, xrLabel_inca_pic_class.Text));//夹杂物面积比图 setXRLabelData(xrLabel_inca_pic_subdivision, GetlanguageData(xrLabel_inca_pic_subdivision.Name.ToString(), languageData, xrLabel_inca_pic_subdivision.Text)); //setXRLabelData(xrLabel_size_IconQuestion_Subdivision, GetlanguageData(xrLabel_size_IconQuestion_Subdivision.Name.ToString(), languageData)); //setXRLabelData(xrTableCell1, GetlanguageData(xrTableCell1.Name.ToString(), languageData));//备注 setXRLabelData(xrTableCell1, "Notes");//备注 setXRLabelData(xrLabel1, GetlanguageData(xrLabel1.Name.ToString(), languageData, xrLabel1.Text)); //颗粒尺寸表 //Bitmap bitmap = (Bitmap)Image.FromFile(str3 + "\\Config\\ReportTemplate\\ReportIdentification.bmp"); //setXRLabelData(xrLabel_inca_pic_class, GetlanguageData(xrLabel_inca_pic_class.Name.ToString(), languageData)); Bitmap bitmap = (Bitmap)Image.FromFile(System.IO.Directory.GetCurrentDirectory() + "\\Config\\ReportTemplate\\"+ TemplateClass.M_SY.LOGName); xrPictureBox1.ImageSource = new ImageSource(bitmap); xrPictureBox1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze; } /// /// 首页部分数据插入 /// ReportIdentification /// public void setResultGrid(DataTable a_languageData,bool a_isINCA) { xrChart_ParticelSizeCalss.Visible = false; xrChart_ParticelSizeSubdivision.Visible = false; #region 从Grid表中读取样品数据 TableHeaderData HeaderData = new TableHeaderData(); DataTable data = HeaderData.GetData(m_otsreport_export); #endregion #region 加载Grid表数据 setXRLabelData(dev_jcjgwj_text, data.Rows[0][1].ToString());//测量结果名称 setXRLabelData(dev_yxsj_text, data.Rows[1][1].ToString());//运行时间 setXRLabelData(dev_sczs_text, data.Rows[2][1].ToString());//视场总数 setXRLabelData(dev_flfa_text, data.Rows[3][1].ToString());//分类方案 setXRLabelData(dev_yjctz_text, data.Rows[4][1].ToString());//已检测特征 setXRLabelData(dev_scmj_text, data.Rows[5][1].ToString() + "μm²");//视场面积 setXRLabelData(dev_fdbs_text, data.Rows[6][1].ToString());//放大倍数 setXRLabelData(dev_bgsj_text, DateTime.Now.ToShortDateString().ToString());//报告时间: setXRLabelData(dev_ckbz_text, TemplateClass.M_SY.str_tb_CKBZ.ToString());//参考标准 FieldOfViewArea = data.Rows[5][1].ToString(); #endregion #region 加载模板设置文档数据 setXRLabelData(dev_yj, TemplateClass.M_YMYJ.str_tb_yjwb.ToString());//页脚 setXRLabelData(dev_zbt, TemplateClass.M_SY.str_tb_ZBT.ToString());//主标题 setXRLabelData(dev_fbt, TemplateClass.M_SY.str_tb_FBT.ToString());//副标题 setXRLabelData(dev_ypbh_text_up, TemplateClass.M_SY.str_tb_YPBH.ToString());//样品编号 setXRLabelData(dev_bgsj_text_up, DateTime.Now.ToShortDateString().ToString());//当前日期 //setXRLabelData(xrTableCell1, xrTableCell1) #endregion if (a_isINCA) xrTable1.Rows.Add(AddInclusionIndex(a_languageData, data.Rows[7][1].ToString())); xrTableCell3.Text = TemplateClass.M_DZ.Notes.ToString(); xrTable3.SizeF = new SizeF(630f, 90.62f); xrTable3.Borders = DevExpress.XtraPrinting.BorderSide.All; xrTable2.Borders = DevExpress.XtraPrinting.BorderSide.All; if(TemplateClass.M_DZ.Notes.ToString()=="") { xrTable3.Visible = false; xrTable2.Visible = false; xrTable1.LocationF = new PointF(30.42f, 721.79f); } //630, 90.62. } private void add_SetTableS(List CompositeData, DataTable surface_dt2) { XRTable xrTa_ParticleSizeTable = add_particleSizeS(); xrChart_ParticelSizeCalss.Visible = true; xrChart_ParticelSizeSubdivision.Visible = true; List> list_ParticelSizeData = new List>(); for (int i = 0; i < CompositeData[1].Rows.Count; i++) { list_ParticelSizeData.Add(switch_ParticleSize(subscript.Getsubscriptstring(CompositeData[1].Rows[i]["Class"].ToString()), subscript.Getsubscriptstring(CompositeData[1].Rows[i]["Name"].ToString()), CompositeData[1].Rows[i]["total"].ToString(), CompositeData[1].Rows[i]["c1"].ToString(), CompositeData[1].Rows[i]["c2"].ToString(), CompositeData[1].Rows[i]["c3"].ToString(), CompositeData[1].Rows[i]["c4"].ToString(), CompositeData[1].Rows[i]["c5"].ToString(), CompositeData[1].Rows[i]["c6"].ToString(), CompositeData[1].Rows[i]["c7"].ToString())); } setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[0], GetlanguageData("dev_classify", languageData,"分类"));//分类 setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[1], GetlanguageData("dev_subdivision", languageData, "二级分类"));//二级分类(子分类) setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[2], GetlanguageData("dev_quantity", languageData, "数量"));//数量 setXRLabelData(xrTa_ParticleSizeTable.Rows[0].Cells[0], GetlanguageData("dev_DimensionTable", languageData, "颗粒尺寸分析结果"));//颗粒尺寸分析结果 setXRLabelData(xrTa_ParticleSizeTable.Rows[1].Cells[0], GetlanguageData("dev_DimensionTable_2", languageData, "尺寸计算基于"));//尺寸计算基于: //dev_classify.Text = "分类"; xrTa_ParticleSizeTable.Rows[2].Cells[0].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[2].Cells[0].Font.Size); //dev_subdivision.Text = "子分类"; xrTa_ParticleSizeTable.Rows[2].Cells[1].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[2].Cells[1].Font.Size); //dev_quantity.Text = "数量"; xrTa_ParticleSizeTable.Rows[2].Cells[2].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[2].Cells[2].Font.Size); xrTa_ParticleSizeTable.Rows[2].Cells[3].Text = CompositeData[0].Rows[0]["c1"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[4].Text = CompositeData[0].Rows[0]["c2"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[5].Text = CompositeData[0].Rows[0]["c3"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[6].Text = CompositeData[0].Rows[0]["c4"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[7].Text = CompositeData[0].Rows[0]["c5"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[8].Text = CompositeData[0].Rows[0]["c6"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[9].Text = CompositeData[0].Rows[0]["c7"].ToString(); xrTa_ParticleSizeTable.Rows[1].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; xrTa_ParticleSizeTable.Rows[1].Cells[0].Text = xrTa_ParticleSizeTable.Rows[1].Cells[0].Text + ComputeModeName + "(μm)"; xrTa_ParticleSizeTable.Rows[1].Cells[0].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[1].Cells[0].Font.Size); int total = 0; for (int i = 0; i < CompositeData[1].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(); tCell_Class.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[0].WidthF; tCell_Name.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[1].WidthF; tCell_total.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[2].WidthF; tCell_size_1.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[3].WidthF; tCell_size_2.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[4].WidthF; tCell_size_3.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[5].WidthF; tCell_size_4.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[6].WidthF; tCell_size_5.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[7].WidthF; tCell_size_6.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[8].WidthF; tCell_size_7.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[9].WidthF; XRTableCellData(row, tCell_Class, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_Class"); XRTableCellData(row, tCell_Name, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_Name"); XRTableCellData(row, tCell_total, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_total"); XRTableCellData(row, tCell_size_1, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_1"); XRTableCellData(row, tCell_size_2, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_2"); XRTableCellData(row, tCell_size_3, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_3"); XRTableCellData(row, tCell_size_4, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_4"); XRTableCellData(row, tCell_size_5, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_5"); XRTableCellData(row, tCell_size_6, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_6"); XRTableCellData(row, tCell_size_7, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_7"); xrTa_ParticleSizeTable.Rows.Add(row); if (CompositeData[1].Rows[i]["Name"].ToString()!="") { total += Convert.ToInt32(CompositeData[1].Rows[i]["total"]); } } this.Detail.Controls.Add(xrTa_ParticleSizeTable); xrTa_ParticleSizeTable.LocationF = new PointF(10f, 940f); XRTable xrTable3 = add_particleSizeS_end(); xrTable3.LocationF = new PointF(10f, xrTa_ParticleSizeTable.LocationF.Y + xrTa_ParticleSizeTable.HeightF); List vs = new List(); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); for (int i = 0; i < surface_dt2.Rows.Count; i++) { for (int a = 1; a < 10; a++) { if (surface_dt2.Rows[i]["c" + a.ToString()] != " " && surface_dt2.Rows[i]["c" + a.ToString()] != "" && surface_dt2.Rows[i]["c" + a.ToString()] != null) { bool isNumeric = double.TryParse(surface_dt2.Rows[i]["c" + a.ToString()].ToString(), out double result); if (isNumeric) vs[a - 1] += Convert.ToInt32(result); } } //total += Convert.ToInt32(surface_dt2.Rows[i]["total"]); } setXRLabelData(xrTable3.Rows[0].Cells[0], GetlanguageData("dev_total", languageData, "总数量")); //xrTable3.Rows[0].Cells[0].Text = "总数量"; xrTable3.Rows[0].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[1].Text = total.ToString(); xrTable3.Rows[0].Cells[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[2].Text = vs[0].ToString(); xrTable3.Rows[0].Cells[2].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[3].Text = vs[1].ToString(); xrTable3.Rows[0].Cells[3].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[4].Text = vs[2].ToString(); xrTable3.Rows[0].Cells[4].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[5].Text = vs[3].ToString(); xrTable3.Rows[0].Cells[5].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[6].Text = vs[4].ToString(); xrTable3.Rows[0].Cells[6].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[7].Text = vs[5].ToString(); xrTable3.Rows[0].Cells[7].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[8].Text = vs[6].ToString(); xrTable3.Rows[0].Cells[8].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; NeueStartposition = xrTable3.LocationF.Y + xrTable3.SizeF.Height + 1; this.Detail.Controls.Add(xrTable3); } private void add_SetTable(List CompositeData, DataTable surface_dt2) { XRTable xrTa_ParticleSizeTable = add_particleSize(); xrChart_ParticelSizeCalss.Visible = true; xrChart_ParticelSizeSubdivision.Visible = true; List> list_ParticelSizeData = new List>(); int ls = 0; DataTable REORDER_data = REORDER(CompositeData[1], "Name"); for (int i = 0; i < REORDER_data.Rows.Count; i++) { if (REORDER_data.Rows[i]["Name"].ToString() == "" || REORDER_data.Rows[i]["Name"].ToString() == null) { ls = i; continue; } list_ParticelSizeData.Add(switch_ParticleSize(subscript.Getsubscriptstring(REORDER_data.Rows[i]["Class"].ToString()), subscript.Getsubscriptstring(REORDER_data.Rows[i]["Name"].ToString()), REORDER_data.Rows[i]["total"].ToString(), REORDER_data.Rows[i]["c1"].ToString(), REORDER_data.Rows[i]["c2"].ToString(), REORDER_data.Rows[i]["c3"].ToString(), REORDER_data.Rows[i]["c4"].ToString(), REORDER_data.Rows[i]["c5"].ToString(), REORDER_data.Rows[i]["c6"].ToString(), REORDER_data.Rows[i]["c7"].ToString())); } //if (REORDER_data.Rows.Count!=1) //{ // REORDER_data.Rows[ls].Delete(); // REORDER_data.AcceptChanges(); //} setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[0], GetlanguageData("dev_classify", languageData, "分类"));//二级分类(子分类) setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[1], GetlanguageData("dev_quantity", languageData, "数量"));//数量 setXRLabelData(xrTa_ParticleSizeTable.Rows[0].Cells[0], GetlanguageData("dev_DimensionTable", languageData, "颗粒尺寸分析结果"));//颗粒尺寸分析结果 setXRLabelData(xrTa_ParticleSizeTable.Rows[1].Cells[0], GetlanguageData("dev_DimensionTable_2", languageData, "尺寸计算基于:"));//尺寸计算基于: //dev_subdivision.Text = "子分类"; xrTa_ParticleSizeTable.Rows[2].Cells[0].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[2].Cells[0].Font.Size); //dev_quantity.Text = "数量"; xrTa_ParticleSizeTable.Rows[2].Cells[1].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[2].Cells[1].Font.Size); xrTa_ParticleSizeTable.Rows[2].Cells[2].Text = CompositeData[0].Rows[0]["c1"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[3].Text = CompositeData[0].Rows[0]["c2"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[4].Text = CompositeData[0].Rows[0]["c3"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[5].Text = CompositeData[0].Rows[0]["c4"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[6].Text = CompositeData[0].Rows[0]["c5"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[7].Text = CompositeData[0].Rows[0]["c6"].ToString(); xrTa_ParticleSizeTable.Rows[2].Cells[8].Text = CompositeData[0].Rows[0]["c7"].ToString(); xrTa_ParticleSizeTable.Rows[1].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; xrTa_ParticleSizeTable.Rows[1].Cells[0].Text = xrTa_ParticleSizeTable.Rows[1].Cells[0].Text + ComputeModeName + "(μm)"; xrTa_ParticleSizeTable.Rows[1].Cells[0].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[1].Cells[0].Font.Size); for (int i = 0; i < REORDER_data.Rows.Count; i++) { XRTableRow row = new XRTableRow(); 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(); tCell_Name.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[0].WidthF; tCell_total.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[1].WidthF; tCell_size_1.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[2].WidthF; tCell_size_2.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[3].WidthF; tCell_size_3.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[4].WidthF; tCell_size_4.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[5].WidthF; tCell_size_5.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[6].WidthF; tCell_size_6.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[7].WidthF; tCell_size_7.WidthF = xrTa_ParticleSizeTable.Rows[2].Cells[8].WidthF; XRTableCellData(row, tCell_Name, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_Name"); XRTableCellData(row, tCell_total, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_total"); XRTableCellData(row, tCell_size_1, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_1"); XRTableCellData(row, tCell_size_2, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_2"); XRTableCellData(row, tCell_size_3, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_3"); XRTableCellData(row, tCell_size_4, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_4"); XRTableCellData(row, tCell_size_5, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_5"); XRTableCellData(row, tCell_size_6, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_6"); XRTableCellData(row, tCell_size_7, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_7"); xrTa_ParticleSizeTable.Rows.Add(row); } this.Detail.Controls.Add(xrTa_ParticleSizeTable); xrTa_ParticleSizeTable.LocationF = new PointF(10f, 940f); XRTable xrTable3 = add_particleSize_end(); xrTable3.LocationF = new PointF(10f, xrTa_ParticleSizeTable.LocationF.Y + xrTa_ParticleSizeTable.HeightF); List vs = new List(); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); vs.Add(0); int total = 0; for (int i = 0; i < surface_dt2.Rows.Count; i++) { for (int a = 1; a < 10; a++) { if (surface_dt2.Rows[i]["c" + a.ToString()] != " " && surface_dt2.Rows[i]["c" + a.ToString()] != "" && surface_dt2.Rows[i]["c" + a.ToString()] != null) { bool isNumeric = double.TryParse(surface_dt2.Rows[i]["c" + a.ToString()].ToString(), out double result); if (isNumeric) vs[a - 1] += Convert.ToInt32(result); } } total += Convert.ToInt32(surface_dt2.Rows[i]["total"]); } //xrTable3.Rows[0].Cells[0].Text = "总数量"; setXRLabelData(xrTable3.Rows[0].Cells[0], "总数量"); xrTable3.Rows[0].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[1].Text = total.ToString(); xrTable3.Rows[0].Cells[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[2].Text = vs[0].ToString(); xrTable3.Rows[0].Cells[2].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[3].Text = vs[1].ToString(); xrTable3.Rows[0].Cells[3].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[4].Text = vs[2].ToString(); xrTable3.Rows[0].Cells[4].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[5].Text = vs[3].ToString(); xrTable3.Rows[0].Cells[5].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[6].Text = vs[4].ToString(); xrTable3.Rows[0].Cells[6].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[7].Text = vs[5].ToString(); xrTable3.Rows[0].Cells[7].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; xrTable3.Rows[0].Cells[8].Text = vs[6].ToString(); xrTable3.Rows[0].Cells[8].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; NeueStartposition = xrTable3.LocationF.Y + xrTable3.SizeF.Height + 1; this.Detail.Controls.Add(xrTable3); } /// /// 优先级排序 /// /// /// /// private DataTable REORDER(DataTable data,string field) { DataTable dataTable = data.Clone(); List vs = new List(); for (int i=0;i< data.Rows.Count;i++) { if (TemplateClass.list_str_MainPriority.Count!=0) { for (int a = 0; a < TemplateClass.list_str_MainPriority.Count; a++) { if (data.Rows[i][field].ToString() == TemplateClass.list_str_MainPriority[a]) { dataTable.Rows.Add(data.Rows[i].ItemArray); continue; } } } else { dataTable.Rows.Add(data.Rows[i].ItemArray); } } for (int i=0;i< dataTable.Rows.Count;i++) { if (!string.IsNullOrWhiteSpace(dataTable.Rows[i]["Class"].ToString())) { //vs.Add(i); dataTable.Rows[i].Delete(); } //dataTable.Rows[i].Delete(); } //for (int i=0;i /// 颗粒尺寸分析表 /// /// 大分类 /// 小分类 public void setParticleSizeTable(bool a_pieSeriesClass, bool a_pieSeries, bool isStacking) { xrPageBreak1.Visible = true; ParticleAnalysis particleList = new ParticleAnalysis(); List CompositeData = particleList.GetClassificationConsolidationTable(TemplateClass, m_otsreport_export, ComputeMode, PartSizeFile); DataTable classData= particleList.GetLargeClassification(TemplateClass, m_otsreport_export, ComputeMode); DataTable subdivdeData = particleList.GetSubClassification(TemplateClass, m_otsreport_export, ComputeMode); DataTable chartmax= particleList.GetChartDataCalss(TemplateClass, m_otsreport_export, ComputeMode); //DataTable surface_dt2 = particleList.ParticleResults(TemplateClass, m_otsreport_export, ComputeMode); DataTable surface_dt2 = CompositeData[1].Clone(); for (int i=0;i< CompositeData[1].Rows.Count;i++) { if (CompositeData[1].Rows[i]["Name"].ToString()!="") { surface_dt2.Rows.Add(CompositeData[1].Rows[i].ItemArray); } } for (int i = 0; i < classData.Rows.Count; i++) { classData.Rows[i]["Class"] = subscript.Getsubscriptstring(classData.Rows[i]["Class"].ToString()); } for (int i = 0; i < subdivdeData.Rows.Count; i++) { subdivdeData.Rows[i]["Name"] = subscript.Getsubscriptstring(subdivdeData.Rows[i]["Name"].ToString()); subdivdeData.Rows[i]["Class"] = subscript.Getsubscriptstring(subdivdeData.Rows[i]["Class"].ToString()); } #region 插入数据 if(CompositeData[1].Rows.Count>0) { if (particleList.IsThereAMajorClassification(m_otsreport_export)) { add_SetTableS(CompositeData, surface_dt2); } else { add_SetTable(CompositeData, surface_dt2); } } if (isStacking) { HistogramChart(particleList); } if (a_pieSeriesClass || a_pieSeries) { XRPageBreak(); } xrChart_ParticelSizeCalss.Visible = false; #region 大分类chart图 if (a_pieSeriesClass&& chartmax.Rows.Count>0) { xrChart_ParticelSizeCalss.Visible = true; xrLabel_size_IconQuestion_Class.Visible = true; xrLabel_size_IconQuestion_Class.LocationF = new PointF(xrLabel_size_IconQuestion_Class.LocationF.X, NeueStartposition); NeueStartposition = xrLabel_size_IconQuestion_Class.LocationF.Y + xrLabel_size_IconQuestion_Class.SizeF.Height + 10; //DataView dv = subdivdeData.DefaultView; //dv.Sort = "total DESC"; //DataTable dt_class_dt = dv.ToTable(); // 实例化饼图对象 Series pieSeriesClass = new Series("尺寸分类", ViewType.Pie); pieSeriesClass.ArgumentScaleType = ScaleType.Qualitative; // 项目名称 pieSeriesClass.ArgumentDataMember = "name"; pieSeriesClass.ValueScaleType = ScaleType.Numerical; //取值字段 pieSeriesClass.ValueDataMembers.AddRange(new string[] { "quantity" }); (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside; //显示百分比 pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues; pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent; //设置数据源 pieSeriesClass.DataSource = chartmax; 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;//红色边框 xrChart_ParticelSizeCalss.LocationF = new PointF(30f, NeueStartposition); NeueStartposition = xrChart_ParticelSizeCalss.LocationF.Y + xrChart_ParticelSizeCalss.SizeF.Height+1 ; } #endregion #region 细分chart图 xrChart_ParticelSizeSubdivision.Visible = false; if (a_pieSeries && surface_dt2.Rows.Count>0) { DataView dv2 = surface_dt2.DefaultView; dv2.Sort = "total DESC"; DataTable dt_subdivde_dt = dv2.ToTable(); xrChart_ParticelSizeSubdivision.Visible = true; xrLabel_size_IconQuestion_Subdivision.Visible = true; xrLabel_size_IconQuestion_Subdivision.LocationF = new PointF(xrLabel_size_IconQuestion_Subdivision.LocationF.X, NeueStartposition); NeueStartposition = xrLabel_size_IconQuestion_Subdivision.LocationF.Y + xrLabel_size_IconQuestion_Subdivision.SizeF.Height + 1; // 实例化饼图对象 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 = dt_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;//红色边框 xrChart_ParticelSizeSubdivision.LocationF = new PointF(30f, NeueStartposition); NeueStartposition = xrChart_ParticelSizeSubdivision.LocationF.Y + xrChart_ParticelSizeSubdivision.SizeF.Height + 10; } #endregion #endregion } private XRChart ParticleSpectrogramControl(DataTable dt) { XRChart xRChart = new XRChart(); // 添加数据系列 Series series = new Series("", ViewType.Line); series.ArgumentDataMember = "XName"; // X轴数据 series.ValueDataMembers.AddRange(new string[] { "data", "Serial" }); // Y轴数据 // 绑定数据源 series.DataSource = dt; // 获取数据源的方法 xrChart1.Legend.Visibility = DevExpress.Utils.DefaultBoolean.False; series.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; LineSeriesView lineView = (LineSeriesView)series.View; lineView.LineMarkerOptions.Size = 1; xRChart.Series.Add(series); xRChart.SizeF = new SizeF(560f, 115f); return xRChart; } private void HistogramChart(ParticleAnalysis particleList) { XRPageBreak(); List seriesList = new List(); DataTable dataTable = particleList.ParticleResults(TemplateClass, m_otsreport_export, ComputeMode); DataTable TypeRange = particleList.TypeRange(TemplateClass, m_otsreport_export); if(dataTable.Rows.Count==0) { return; } xrLabel1.Visible = true; xrChart1.Visible = true; DataTable dt = new DataTable(); dt.Columns.Add("name"); dt.Columns.Add("range"); dt.Columns.Add("num"); for (int i = 0; i < dataTable.Rows.Count; i++) { for (int a = 0; a < 11; a++) { if (string.IsNullOrEmpty(TypeRange.Rows[0][a].ToString())) continue; DataRow dr = dt.NewRow(); dr["name"] = subscript.Getsubscriptstring(dataTable.Rows[i]["Name"].ToString()); dr["range"] = TypeRange.Rows[0][a]; if (double.TryParse(dataTable.Rows[i]["c" + (a+1).ToString()].ToString(), out double result)) { dr["num"] = result; } else { dr["num"] = 0; } dt.Rows.Add(dr); } } foreach (DataRow dr in dt.DefaultView.ToTable(true, "name").Rows) { Series s = new Series(dr["name"].ToString(), ViewType.StackedBar) { LegendTextPattern = dr["name"].ToString(), ArgumentScaleType = ScaleType.Qualitative, }; foreach (DataRow drl in dt.Select("name='" + dr["name"].ToString() + "'")) s.Points.Add(new SeriesPoint(drl["range"].ToString(), int.Parse(drl["num"].ToString()))); s.LabelsVisibility = DefaultBoolean.False; seriesList.Add(s); } foreach (Series sr in seriesList.ToArray()) xrChart1.Series.Add(sr); ((XYDiagram)xrChart1.Diagram).AxisY.Title.Text = ""; ((XYDiagram)xrChart1.Diagram).AxisX.Title.Text = ""; ((XYDiagram)xrChart1.Diagram).AxisY.Title.Visibility = DefaultBoolean.True; ((XYDiagram)xrChart1.Diagram).AxisX.Title.Visibility = DefaultBoolean.True; ((XYDiagram)xrChart1.Diagram).AxisY.Title.Font = new Font("Tahoma", 9); ((XYDiagram)xrChart1.Diagram).AxisX.Title.Font = new Font("Tahoma", 9); ((XYDiagram)xrChart1.Diagram).AxisY.Title.Alignment = StringAlignment.Far; ((XYDiagram)xrChart1.Diagram).AxisX.Title.Alignment = StringAlignment.Far; xrLabel1.LocationF = new PointF(xrLabel1.LocationF.X, NeueStartposition); NeueStartposition = xrLabel1.LocationF.Y + xrLabel1.SizeF.Height ; xrChart1.LocationF = new PointF(xrChart1.LocationF.X, NeueStartposition); NeueStartposition = xrChart1.LocationF.Y + xrChart1.SizeF.Height + 20; } /// /// 元素分析有大分类数据加载 /// private void add_SetElementAvgGridS(List a_datas) { XRTable xRTable = add_ElementListS(); setXRLabelData(xRTable.Rows[2].Cells[3], a_datas[0].Rows[0][2].ToString()); setXRLabelData(xRTable.Rows[2].Cells[4], a_datas[0].Rows[0][3].ToString()); setXRLabelData(xRTable.Rows[2].Cells[5], a_datas[0].Rows[0][4].ToString()); setXRLabelData(xRTable.Rows[2].Cells[6], a_datas[0].Rows[0][5].ToString()); setXRLabelData(xRTable.Rows[2].Cells[7], a_datas[0].Rows[0][6].ToString()); setXRLabelData(xRTable.Rows[2].Cells[8], a_datas[0].Rows[0][7].ToString()); setXRLabelData(xRTable.Rows[2].Cells[9], a_datas[0].Rows[0][8].ToString()); setXRLabelData(xRTable.Rows[2].Cells[10], a_datas[0].Rows[0][9].ToString()); setXRLabelData(xRTable.Rows[2].Cells[11], a_datas[0].Rows[0][10].ToString()); setXRLabelData(xRTable.Rows[2].Cells[12], a_datas[0].Rows[0][11].ToString()); List> list_ElementalAnalysisData = new List>(); for (int i = 0; i < a_datas[1].Rows.Count; i++) { double quantity = 0; for (int a = 2; a < 12; a++) { if (a_datas[1].Rows[i][a].ToString() != "") { if (double.TryParse(a_datas[1].Rows[i][a].ToString(), out double number)) { quantity = quantity + number; } } } list_ElementalAnalysisData.Add(set_ElementalAnalysis(subscript.Getsubscriptstring(a_datas[1].Rows[i]["Class"].ToString()), subscript.Getsubscriptstring(a_datas[1].Rows[i]["Name"].ToString()), a_datas[1].Rows[i]["Area"].ToString(), a_datas[1].Rows[i][2].ToString(), a_datas[1].Rows[i][3].ToString(), a_datas[1].Rows[i][4].ToString(), a_datas[1].Rows[i][5].ToString(), a_datas[1].Rows[i][6].ToString(), a_datas[1].Rows[i][7].ToString(), a_datas[1].Rows[i][8].ToString(), a_datas[1].Rows[i][9].ToString(), a_datas[1].Rows[i][10].ToString(), a_datas[1].Rows[i][11].ToString())); } for (int i = 0; i < a_datas[1].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(); tCell_classify.WidthF = xRTable.Rows[2].Cells[0].WidthF; tCell_subdivision.WidthF = xRTable.Rows[2].Cells[1].WidthF; tCell_area.WidthF = xRTable.Rows[2].Cells[2].WidthF; tCell_s1.WidthF = xRTable.Rows[2].Cells[3].WidthF; tCell_s2.WidthF = xRTable.Rows[2].Cells[4].WidthF; tCell_s3.WidthF = xRTable.Rows[2].Cells[5].WidthF; tCell_s4.WidthF = xRTable.Rows[2].Cells[6].WidthF; tCell_s5.WidthF = xRTable.Rows[2].Cells[7].WidthF; tCell_s6.WidthF = xRTable.Rows[2].Cells[8].WidthF; tCell_s7.WidthF = xRTable.Rows[2].Cells[9].WidthF; tCell_s8.WidthF = xRTable.Rows[2].Cells[10].WidthF; tCell_s9.WidthF = xRTable.Rows[2].Cells[11].WidthF; tCell_s10.WidthF = xRTable.Rows[2].Cells[12].WidthF; XRTableCellData_ElementAnalysis(row, tCell_classify, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "classify"); XRTableCellData_ElementAnalysis(row, tCell_subdivision, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "subdivision"); XRTableCellData_ElementAnalysis(row, tCell_area, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "Area"); XRTableCellData_ElementAnalysis(row, tCell_s1, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s1"); XRTableCellData_ElementAnalysis(row, tCell_s2, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s2"); XRTableCellData_ElementAnalysis(row, tCell_s3, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s3"); XRTableCellData_ElementAnalysis(row, tCell_s4, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s4"); XRTableCellData_ElementAnalysis(row, tCell_s5, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s5"); XRTableCellData_ElementAnalysis(row, tCell_s6, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s6"); XRTableCellData_ElementAnalysis(row, tCell_s7, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s7"); XRTableCellData_ElementAnalysis(row, tCell_s8, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s8"); XRTableCellData_ElementAnalysis(row, tCell_s9, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s9"); XRTableCellData_ElementAnalysis(row, tCell_s10, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s10"); xRTable.Rows.Add(row); } xRTable.LocationF = new PointF(10f, NeueStartposition); NeueStartposition = xRTable.LocationF.Y + xRTable.SizeF.Height + 10; this.Detail.Controls.Add(xRTable); } private void add_SetElementAvgGrid(List a_datas) { XRTable xRTable = add_ElementList(); setXRLabelData(xRTable.Rows[2].Cells[2], a_datas[0].Rows[0][2].ToString()); setXRLabelData(xRTable.Rows[2].Cells[3], a_datas[0].Rows[0][3].ToString()); setXRLabelData(xRTable.Rows[2].Cells[4], a_datas[0].Rows[0][4].ToString()); setXRLabelData(xRTable.Rows[2].Cells[5], a_datas[0].Rows[0][5].ToString()); setXRLabelData(xRTable.Rows[2].Cells[6], a_datas[0].Rows[0][6].ToString()); setXRLabelData(xRTable.Rows[2].Cells[7], a_datas[0].Rows[0][7].ToString()); setXRLabelData(xRTable.Rows[2].Cells[8], a_datas[0].Rows[0][8].ToString()); setXRLabelData(xRTable.Rows[2].Cells[9], a_datas[0].Rows[0][9].ToString()); setXRLabelData(xRTable.Rows[2].Cells[10], a_datas[0].Rows[0][10].ToString()); setXRLabelData(xRTable.Rows[2].Cells[11], a_datas[0].Rows[0][11].ToString()); int ls = 0; DataTable REORDER_data = REORDER(a_datas[1], "Name"); if (REORDER_data.Rows.Count == 0) return; for (int i = 0; i < REORDER_data.Rows.Count; i++) { if (REORDER_data.Rows[i]["Name"].ToString() == "" || REORDER_data.Rows[i]["Name"].ToString() == null) { ls = i; continue; } } //REORDER_data.Rows[ls].Delete(); //REORDER_data.AcceptChanges(); List> list_ElementalAnalysisData = new List>(); for (int i = 0; i < REORDER_data.Rows.Count; i++) { double quantity = 0; for (int a = 2; a < 12; a++) { if (REORDER_data.Rows[i][a].ToString() != "") { if (double.TryParse(REORDER_data.Rows[i][a].ToString(), out double number)) { quantity = quantity + number; } } } list_ElementalAnalysisData.Add(set_ElementalAnalysisS(subscript.Getsubscriptstring(REORDER_data.Rows[i]["Name"].ToString()), REORDER_data.Rows[i]["Area"].ToString(), REORDER_data.Rows[i][2].ToString(), REORDER_data.Rows[i][3].ToString(), REORDER_data.Rows[i][4].ToString(), REORDER_data.Rows[i][5].ToString(), REORDER_data.Rows[i][6].ToString(), REORDER_data.Rows[i][7].ToString(), REORDER_data.Rows[i][8].ToString(), REORDER_data.Rows[i][9].ToString(), REORDER_data.Rows[i][10].ToString(), REORDER_data.Rows[i][11].ToString())); } for (int i = 0; i < REORDER_data.Rows.Count; i++) { XRTableRow row = new XRTableRow(); 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(); tCell_subdivision.WidthF = xRTable.Rows[2].Cells[0].WidthF; tCell_area.WidthF = xRTable.Rows[2].Cells[1].WidthF; tCell_s1.WidthF = xRTable.Rows[2].Cells[2].WidthF; tCell_s2.WidthF = xRTable.Rows[2].Cells[3].WidthF; tCell_s3.WidthF = xRTable.Rows[2].Cells[4].WidthF; tCell_s4.WidthF = xRTable.Rows[2].Cells[5].WidthF; tCell_s5.WidthF = xRTable.Rows[2].Cells[6].WidthF; tCell_s6.WidthF = xRTable.Rows[2].Cells[7].WidthF; tCell_s7.WidthF = xRTable.Rows[2].Cells[8].WidthF; tCell_s8.WidthF = xRTable.Rows[2].Cells[9].WidthF; tCell_s9.WidthF = xRTable.Rows[2].Cells[10].WidthF; tCell_s10.WidthF = xRTable.Rows[2].Cells[11].WidthF; XRTableCellData_ElementAnalysis(row, tCell_subdivision, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "subdivision"); XRTableCellData_ElementAnalysis(row, tCell_area, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "Area"); XRTableCellData_ElementAnalysis(row, tCell_s1, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s1"); XRTableCellData_ElementAnalysis(row, tCell_s2, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s2"); XRTableCellData_ElementAnalysis(row, tCell_s3, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s3"); XRTableCellData_ElementAnalysis(row, tCell_s4, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s4"); XRTableCellData_ElementAnalysis(row, tCell_s5, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s5"); XRTableCellData_ElementAnalysis(row, tCell_s6, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s6"); XRTableCellData_ElementAnalysis(row, tCell_s7, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s7"); XRTableCellData_ElementAnalysis(row, tCell_s8, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s8"); XRTableCellData_ElementAnalysis(row, tCell_s9, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s9"); XRTableCellData_ElementAnalysis(row, tCell_s10, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s10"); xRTable.Rows.Add(row); } xRTable.LocationF = new PointF(10f, NeueStartposition); NeueStartposition = xRTable.LocationF.Y + xRTable.SizeF.Height + 10; this.Detail.Controls.Add(xRTable); } /// /// 设置插入元素分析表数据 /// /// public void setElementAvgGrid() { ElementalAnalysis elementalAnalysis = new ElementalAnalysis(); List datas = elementalAnalysis.GetElementData(TemplateClass, m_otsreport_export, ComputeMode); if (elementalAnalysis.IsThereAMajorClassification(m_otsreport_export)) add_SetElementAvgGridS(datas); else add_SetElementAvgGrid(datas); //xrTb_ElementAnalysis.Visible = true; ////元素分析表———————— //setXRLabelData(xrTableCell30, GetlanguageData("xrCellElementArea", languageData));//元素分析表表头 //setXRLabelData(xrTableCell31, GetlanguageData("xrCellElementArea_details", languageData));//详情 //DataTable REORDER_data = REORDER(datas[2], "Name"); //for (int i = 0; i < REORDER_data.Rows.Count; i++) //{ // double quantity = 0; // for (int a = 4; a < REORDER_data.Columns.Count; a++) // { // if (REORDER_data.Rows[i][a].ToString() != "") // { // quantity = quantity + Convert.ToDouble(REORDER_data.Rows[i][a].ToString()); // } // } // string str_data = ""; // for (int a = 4; a < REORDER_data.Columns.Count; a++) // { // if (REORDER_data.Rows[i][a].ToString() != "") // { // str_data = str_data + REORDER_data.Columns[a].ColumnName.ToString() + "=" + elementalAnalysis.ParameterNormalization(quantity, Convert.ToDouble(REORDER_data.Rows[i][a].ToString())) + "%" + " "; // } // } // xrTb_ElementAnalysis.Rows.Add(addElementalAnalysisRows(REORDER_data.Rows[i]["Name"].ToString(), str_data)); //} //xrTb_ElementAnalysis.LocationF = new PointF(10f, NeueStartposition); //NeueStartposition = xrTb_ElementAnalysis.LocationF.Y + xrTb_ElementAnalysis.SizeF.Height + 10; } private XRTableRow addElementalAnalysisRows(string className, string data) { XRTableRow row = new XRTableRow(); XRTableCell tCell_class = new XRTableCell(); XRTableCell tCell_data = new XRTableCell(); tCell_class.Text = className; tCell_class.WidthF = 116.29f; tCell_data.Text = data; tCell_data.WidthF = 551.71f; row.Controls.Add(tCell_class); row.Controls.Add(tCell_data); return row; } private XRTableRow AddInclusionIndex(DataTable a_data,string a_str) { XRTableRow row = new XRTableRow(); XRTableCell tCell_Name = new XRTableCell(); XRTableCell tCell_Text = new XRTableCell(); XRTableCell tCell_Notes = new XRTableCell(); string name = ""; string notes = ""; for (int i=0;i< a_data.Rows.Count;i++) { if (languageData.Rows[i]["Name"].ToString()== "tCell_Name") { name = languageData.Rows[i]["Text"].ToString(); } if (languageData.Rows[i]["Name"].ToString() == "tCell_Notes") { notes = languageData.Rows[i]["Text"].ToString(); } } tCell_Name.Font = new Font(Schriftart_chinese, tCell_Name.Font.Size); tCell_Name.Text = name; tCell_Name.WidthF = 157.5f; tCell_Text.Font = new Font(Schriftart_chinese, tCell_Text.Font.Size); tCell_Text.Text = a_str; tCell_Text.WidthF = 157.5f; tCell_Notes.Font = new Font(Schriftart_chinese, tCell_Notes.Font.Size); tCell_Notes.Text = notes; tCell_Notes.WidthF = 315f; row.Cells.Add(tCell_Name); row.Cells.Add(tCell_Text); row.Cells.Add(tCell_Notes); row.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; return row; } private void add_SetINCAtableS(DataTable a_data) { XRTable xRTable = add_IncaDormS(); List> list_AreaOfInclusion = new List>(); for (int i = 0; i < a_data.Rows.Count; i++) { list_AreaOfInclusion.Add(set_AreaOfInclusion(subscript.Getsubscriptstring(a_data.Rows[i]["Class"].ToString()), subscript.Getsubscriptstring(a_data.Rows[i]["subdivision"].ToString()), a_data.Rows[i]["Area"].ToString(), a_data.Rows[i]["inca_proportion"].ToString(), a_data.Rows[i]["inca_FieldRatio"].ToString())); } for (int i = 0; i < a_data.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, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "classify"); XRTableCellData_AreaOfInclusion(row, tCell_subdivision, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "subdivision"); XRTableCellData_AreaOfInclusion(row, tCell_area, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "Area"); XRTableCellData_AreaOfInclusion(row, tCell_inca_proportion, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_proportion"); XRTableCellData_AreaOfInclusion(row, tCell_inca_FieldRatio, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_FieldRatio"); xRTable.Rows.Add(row); } xRTable.LocationF = new PointF(10f, NeueStartposition); NeueStartposition = xRTable.LocationF.Y + xRTable.SizeF.Height; this.Detail.Controls.Add(xRTable); } private void add_SetINCAtable(DataTable a_data) { XRTable xRTable = add_IncaDorm(); int ls = 0; DataTable REORDER_data = REORDER(a_data, "subdivision"); for (int i = 0; i < REORDER_data.Rows.Count; i++) { if (REORDER_data.Rows[i]["subdivision"].ToString() == "" || REORDER_data.Rows[i]["subdivision"].ToString() == null) { ls = i; continue; } } REORDER_data.Rows[ls].Delete(); REORDER_data.AcceptChanges(); List> list_AreaOfInclusion = new List>(); for (int i = 0; i < REORDER_data.Rows.Count; i++) { list_AreaOfInclusion.Add(set_AreaOfInclusion(subscript.Getsubscriptstring(REORDER_data.Rows[i]["Class"].ToString()), subscript.Getsubscriptstring(REORDER_data.Rows[i]["subdivision"].ToString()), REORDER_data.Rows[i]["Area"].ToString(), REORDER_data.Rows[i]["inca_proportion"].ToString(), REORDER_data.Rows[i]["inca_FieldRatio"].ToString())); } for (int i = 0; i < REORDER_data.Rows.Count; i++) { XRTableRow row = new XRTableRow(); 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_subdivision, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "subdivision"); XRTableCellData_AreaOfInclusion(row, tCell_area, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "Area"); XRTableCellData_AreaOfInclusion(row, tCell_inca_proportion, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_proportion"); XRTableCellData_AreaOfInclusion(row, tCell_inca_FieldRatio, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_FieldRatio"); xRTable.Rows.Add(row); } xRTable.LocationF = new PointF(10f, NeueStartposition); NeueStartposition = xRTable.LocationF.Y + xRTable.SizeF.Height; this.Detail.Controls.Add(xRTable); } /// /// 设置插入夹杂物面积比表数据 /// /// public void setINCAtable() { InclusionProportion inclusionProportion = new InclusionProportion(); DataTable dt = inclusionProportion.GetINCAtable(FieldOfViewArea, m_otsreport_export, TemplateClass); if (inclusionProportion.IsThereAMajorClassification(m_otsreport_export)) add_SetINCAtableS(dt); else add_SetINCAtable(dt); } public void XRPageBreak() { XRPageBreak xRPage = new XRPageBreak(); xRPage.Name = "kllb_Page"; xRPage.LocationF = new PointF(0, NeueStartposition); this.Detail.Controls.Add(xRPage); NeueStartposition = xRPage.LocationF.Y + xRPage.HeightF + 1; } /// /// 设置插入夹杂物面积比图像 /// /// public void set_incaPIC_classify() { InclusionProportion inclusionProportion = new InclusionProportion(); DataTable data = inclusionProportion.Get_incaPIC_classify(dev_sczs_text.Text, TemplateClass, m_otsreport_export); if (data.Rows.Count == 0) { return; } xrLabel_inca_pic_class.Visible = true; xrLabel_inca_pic_class.LocationF = new PointF(xrLabel_inca_pic_class.LocationF.X, NeueStartposition); NeueStartposition = xrLabel_inca_pic_class.LocationF.Y + xrLabel_inca_pic_class.SizeF.Height + 1; for (int i = 0; i < data.Rows.Count; i++) { if (data.Rows[i]["Class"].ToString() == "Other") { data.Rows[i].Delete(); } } data.AcceptChanges(); DataView dv = data.DefaultView; dv.Sort = "Cunt DESC"; DataTable dt_data = dv.ToTable(); for (int i = 0; i < dt_data.Rows.Count; i++) { dt_data.Rows[i]["Class"] = subscript.Getsubscriptstring(dt_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 = dt_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;//红色边框 xrChart_incaClass.Visible = true; xrChart_incaClass.LocationF = new PointF(30f, NeueStartposition); NeueStartposition = xrChart_incaClass.LocationF.Y + xrChart_incaClass.SizeF.Height + 1; } public void set_incaPIC_subdivision() { InclusionProportion inclusionProportion = new InclusionProportion(); DataTable data = inclusionProportion.Get_incaPIC_subdivision(TemplateClass, m_otsreport_export); if(data.Rows.Count==0) { return; } xrChart_incaSubdivision.Visible = true; xrLabel_inca_pic_subdivision.Visible = true; xrLabel_inca_pic_subdivision.LocationF = new PointF(xrLabel_inca_pic_subdivision.LocationF.X, NeueStartposition); NeueStartposition = xrLabel_inca_pic_subdivision.LocationF.Y + xrLabel_inca_pic_subdivision.Height + 1; for (int i = 0; i < data.Rows.Count; i++) { if (data.Rows[i]["TypeName"].ToString() == "Not Identified") { data.Rows[i].Delete(); } } data.AcceptChanges(); DataView dv = data.DefaultView; dv.Sort = "con DESC"; DataTable dt_data = dv.ToTable(); for (int i = 0; i < dt_data.Rows.Count; i++) { dt_data.Rows[i]["TypeName"] = subscript.Getsubscriptstring(dt_data.Rows[i]["TypeName"].ToString()); dt_data.Rows[i]["GroupName"] = subscript.Getsubscriptstring(dt_data.Rows[i]["GroupName"].ToString()); } // 实例化饼图对象 Series pieSeriesClass = new Series("夹杂物面积比细分类", ViewType.Pie); pieSeriesClass.ArgumentScaleType = ScaleType.Qualitative; // 项目名称 pieSeriesClass.ArgumentDataMember = "TypeName"; pieSeriesClass.ValueScaleType = ScaleType.Numerical; //取值字段 pieSeriesClass.ValueDataMembers.AddRange(new string[] { "con" }); (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside; //显示百分比 pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues; pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent; //设置数据源 pieSeriesClass.DataSource = dt_data; pieSeriesClass.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False; // 饼图空间添加 新建的饼图对象 xrChart_incaSubdivision.Series.Add(pieSeriesClass); //右上角分组视图 this.xrChart_incaSubdivision.Legend.MarkerSize = new System.Drawing.Size(20, 20); this.xrChart_incaSubdivision.Legend.TextOffset = 5; this.xrChart_incaSubdivision.Legend.VerticalIndent = 5; this.xrChart_incaSubdivision.Legend.Border.Color = Color.Red;//红色边框 xrChart_incaSubdivision.LocationF = new PointF(30f, NeueStartposition); NeueStartposition = xrChart_incaSubdivision.LocationF.Y + xrChart_incaSubdivision.Height + 1; } public static Color FromHex(string hex) { hex = hex.Replace("#", ""); // 移除 # 前缀 byte a = 255; // 默认Alpha值为255(不透明) byte r = Convert.ToByte(hex.Substring(0, 2), 16); byte g = Convert.ToByte(hex.Substring(2, 2), 16); byte b = Convert.ToByte(hex.Substring(4, 2), 16); return Color.FromArgb(a, r, g, b); } /// /// 三元图 /// /// public void InsertReportTemplateChart_Trianglediagram() { this.Detail.Controls.Add(add_label(GetlanguageData("dev_Ternary_diagram", languageData, "三元图"))); List Color_list = new List(); Color_list.Add(FromHex("#0f4471")); Color_list.Add(FromHex("#FFD700")); Color_list.Add(FromHex("#ff5722")); Color_list.Add(FromHex("#5628b4")); Color_list.Add(FromHex("#20BF55")); Color_list.Add(FromHex("#f23557")); Color_list.Add(FromHex("#118df0")); Color_list.Add(FromHex("#FF00FF")); Color_list.Add(FromHex("#d3327b")); Color_list.Add(FromHex("#ae318a")); Color_list.Add(FromHex("#993090")); Color_list.Add(FromHex("#6f3071")); Color_list.Add(FromHex("#7711AF")); Color_list.Add(FromHex("#CF77FF")); Color_list.Add(FromHex("#AE004F")); Color_list.Add(FromHex("#F35872")); Color_list.Add(FromHex("#FA7729")); Color_list.Add(FromHex("#FFC526")); Color_list.Add(FromHex("#F8E71C")); Color_list.Add(FromHex("#34ADAE")); Color_list.Add(FromHex("#3DDFD2")); Color_list.Add(FromHex("#A0FFFF")); TernaryDiagram ternaryDiagram = new TernaryDiagram(); for (int i = 0; i < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count; i = i + 4) { var xRPicture = set_syt_pic_legend(Color_list, i, ternaryDiagram); if (i < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i], Color_list, new PointF(10f, NeueStartposition), ternaryDiagram); } if (i + 1 < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i + 1], Color_list, new PointF(343.8f, NeueStartposition), ternaryDiagram); } if (i + 2 < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i + 2], Color_list, new PointF(10f, NeueStartposition + 345), ternaryDiagram); } if (i + 3 < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count) { set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i + 3], Color_list, new PointF(343.8f, NeueStartposition + 345), ternaryDiagram); } XRLine rLine = new XRLine(); rLine.SizeF = new SizeF(5f, 698.5f); rLine.LineDirection = LineDirection.Vertical; rLine.LocationF = new PointF(335f, NeueStartposition + 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, NeueStartposition + 345); this.Detail.Controls.Add(rLine_level); XRPageBreak xRPage = new XRPageBreak(); xRPage.LocationF = new PointF(0, NeueStartposition + 850); this.Detail.Controls.Add(xRPicture); NeueStartposition = NeueStartposition + 870; this.Detail.Controls.Add(xRPage); } } /// /// 颗粒列表 /// /// public void set_kllb_data() { XRPageBreak xRPage = new XRPageBreak(); xRPage.Name = "kllb_Page"; xRPage.LocationF = new PointF(0, NeueStartposition); this.Detail.Controls.Add(xRPage); xrTable_kllb_surface.LocationF = new PointF(0, NeueStartposition + 5); xrTable_kllb_surface.Visible = true; NeueStartposition = xrTable_kllb_surface.LocationF.Y + xrTable_kllb_surface.SizeF.Height; setXRLabelData(xrTable_kllb, GetlanguageData("dev_Particle_List", languageData, "颗粒列表")); setXRLabelData(xrTableCell2, "Selected particles based on:" + TemplateClass.M_KLLBXX.str_cb_kllb_sort_p1.ToString() + "(μm)"); ParticleList particleList = new ParticleList(); DataTable dataTable = particleList.Get_dev_kllb_data(TemplateClass, m_otsreport_export,out DataTable data ,out List ElementIcons); FrameData = data.Copy(); for (int i = 0; i < dataTable.Rows.Count; i++) { dataTable.Rows[i]["Class"] = subscript.Getsubscriptstring(dataTable.Rows[i]["Class"].ToString()); } for (int i = 0; i < dataTable.Rows.Count; i++) { XRTable table = add_XRTable(); add_kllb(TemplateClass, dataTable, i, table, ElementIcons[i]); } NeueStartposition = NeueStartposition + 10; } /// /// 颗粒列表 帧图 /// /// public void set_kllb_data_frame() { ParticleList particleList = new ParticleList(); particleList.Get_dev_kllb_data_frame(TemplateClass, out DataTable dt_pic, out List listData, m_otsreport_export, FrameData); 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, NeueStartposition); NeueStartposition = NeueStartposition + 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 = GetlanguageData("dev_Frame_diagram", languageData, "帧图") + dt_pic.Rows[i]["id"]; Template.LocationF = new PointF(0, NeueStartposition); Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; Template.Rows[0].Font = new Font(Schriftart_chinese, 14f, FontStyle.Regular); 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, NeueStartposition + Template.SizeF.Height); xRPicture.Borders = DevExpress.XtraPrinting.BorderSide.All; this.Detail.Controls.Add(xRPicture); NeueStartposition = NeueStartposition + 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 = GetlanguageData("dev_image", languageData, "图像"); xRTable.Rows[0].Cells[0].Font = new Font(Schriftart_chinese, xRTable.Rows[0].Cells[0].Font.Size); xRTable.Rows[0].Cells[1].Text = GetlanguageData("dev_Class", languageData, "分类"); xRTable.Rows[0].Cells[1].Font = new Font(Schriftart_chinese, xRTable.Rows[0].Cells[1].Font.Size); xRTable.Rows[0].Cells[2].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p1.ToString(); xRTable.Rows[0].Cells[3].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p2.ToString(); 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 = 1; c < 10; c++) { xRTable.Rows[2].Cells[c].Text = listData[a].Rows[b]["ColName" + (c).ToString()].ToString(); xRTable.Rows[3].Cells[c].Text = listData[a].Rows[b]["ColVal" + (c).ToString()].ToString(); } xRTable.LocationF = new PointF(0, NeueStartposition); 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, 70); xRPicture1.LocationF = new PointF(0, NeueStartposition + 20); this.Detail.Controls.Add(xRTable); this.Detail.Controls.Add(xRPicture1); NeueStartposition = NeueStartposition + xRTable.SizeF.Height + 1; } } } } } #endregion private void setXRLabelData(XRLabel cell, string str) { cell.Text = str; cell.Font = new Font(Schriftart_chinese, cell.Font.Size); } /// /// 读取报告控件中英文 /// /// /// /// private string GetlanguageData(string strName, DataTable languageData,string TextName) { for (int i = 0; i < languageData.Rows.Count; i++) { if (strName == languageData.Rows[i]["Name"].ToString()) { return languageData.Rows[i]["Text"].ToString(); } } return TextName; } #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_ElementalAnalysisS( 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 { 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 TemplateClass, int index, List Color_list, PointF position, TernaryDiagram ternaryDiagram) { XRPictureBox xRPicture = new XRPictureBox(); xRPicture.LocationF = position; xRPicture.SizeF = new SizeF(321f, 330.2f); ImageSource imageSource = new ImageSource(ternaryDiagram.DrawATernaryPicture(index, TemplateClass, Color_list,m_otsreport_export, PartSizeFile)); xRPicture.ImageSource = imageSource; xRPicture.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; xRPicture.Visible = true; this.Detail.Controls.Add(xRPicture); } private XRPictureBox set_syt_pic_legend(List Color_list, int i, TernaryDiagram ternaryDiagram) { XRPictureBox xRPicture_legend = new XRPictureBox(); xRPicture_legend.Name = "XRPicture" + i.ToString(); xRPicture_legend.LocationF = new PointF(400f, NeueStartposition); xRPicture_legend.SizeF = new SizeF(260f, 120f); xRPicture_legend.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage; ImageSource imageSource_legend = new ImageSource(ternaryDiagram.DrawATernaryDiagramLegend(Color_list,m_otsreport_export, PartSizeFile)); xRPicture_legend.ImageSource = imageSource_legend; NeueStartposition = xRPicture_legend.LocationF.Y + xRPicture_legend.SizeF.Height; return xRPicture_legend; } #endregion private XRTable add_label(string str) { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableCell Template_Rows1_Cell_2 = new XRTableCell(); Template_Rows1_Cell_2.WidthF = 630f; setXRLabelData(Template_Rows1_Cell_2, str); //Template_Rows1_Cell_2.Text = str; Template_Rows_1.Controls.Add(Template_Rows1_Cell_2); Template.Rows.Add(Template_Rows_1); Template.WidthF = 630f; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template.LocationF = new PointF(30.42f, NeueStartposition); Template.BackColor = Color.DarkGray; NeueStartposition = Template.LocationF.Y + Template.SizeF.Height; return Template; } /// /// 颗粒尺寸无大分类表格式 /// /// private XRTable add_particleSize() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableRow Template_Rows_2 = new XRTableRow(); XRTableRow Template_Rows_3 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); XRTableCell Template_Rows2_Cell_1 = 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(); Template_Rows1_Cell_1.WidthF = 668f; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template_Rows2_Cell_1.WidthF = 668f; Template_Rows_2.Controls.Add(Template_Rows2_Cell_1); Template_Rows3_Cell_1.WidthF = 100f; Template_Rows3_Cell_2.WidthF = 55; Template_Rows3_Cell_3.WidthF = 59; Template_Rows3_Cell_4.WidthF = 59; Template_Rows3_Cell_5.WidthF = 59; Template_Rows3_Cell_6.WidthF = 59; Template_Rows3_Cell_7.WidthF = 59; Template_Rows3_Cell_8.WidthF = 59; Template_Rows3_Cell_9.WidthF = 59; 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.Add(Template_Rows_1); Template.Rows.Add(Template_Rows_2); Template.Rows.Add(Template_Rows_3); Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.SizeF = new SizeF(668f, Template.SizeF.Height); Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; Template.Rows[0].BackColor = Color.DarkGray; return Template; } /// /// 颗粒尺寸无大分类表格式 总结 /// /// private XRTable add_particleSize_end() { 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(); XRTableCell Template_Rows1_Cell_7 = new XRTableCell(); XRTableCell Template_Rows1_Cell_8 = new XRTableCell(); XRTableCell Template_Rows1_Cell_9 = new XRTableCell(); Template_Rows1_Cell_1.WidthF = 100; Template_Rows1_Cell_2.WidthF = 55f; Template_Rows1_Cell_3.WidthF = 59f; Template_Rows1_Cell_4.WidthF = 59f; Template_Rows1_Cell_5.WidthF = 59f; Template_Rows1_Cell_6.WidthF = 59f; Template_Rows1_Cell_7.WidthF = 59f; Template_Rows1_Cell_8.WidthF = 59f; Template_Rows1_Cell_9.WidthF = 59f; 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_Rows_1.Controls.Add(Template_Rows1_Cell_7); Template_Rows_1.Controls.Add(Template_Rows1_Cell_8); Template_Rows_1.Controls.Add(Template_Rows1_Cell_9); Template.Rows.Add(Template_Rows_1); Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.SizeF = new SizeF(668f, Template.SizeF.Height); Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; //Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; return Template; } /// /// 颗粒尺寸有大分类表格式 /// /// private XRTable add_particleSizeS() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableRow Template_Rows_2 = new XRTableRow(); XRTableRow Template_Rows_3 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); XRTableCell Template_Rows2_Cell_1 = 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(); Template_Rows1_Cell_1.WidthF = 668f; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template_Rows2_Cell_1.WidthF = 668f; Template_Rows_2.Controls.Add(Template_Rows2_Cell_1); Template_Rows3_Cell_1.WidthF = 100f; Template_Rows3_Cell_2.WidthF = 100f; Template_Rows3_Cell_3.WidthF = 55; Template_Rows3_Cell_4.WidthF = 59; Template_Rows3_Cell_5.WidthF = 59; Template_Rows3_Cell_6.WidthF = 59; Template_Rows3_Cell_7.WidthF = 59; Template_Rows3_Cell_8.WidthF = 59; Template_Rows3_Cell_9.WidthF = 59; Template_Rows3_Cell_10.WidthF = 59; 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.Add(Template_Rows_1); Template.Rows.Add(Template_Rows_2); Template.Rows.Add(Template_Rows_3); Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.SizeF = new SizeF(668f, Template.SizeF.Height); Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; Template.Rows[0].BackColor = Color.DarkGray; return Template; } /// /// 颗粒尺寸有大分类表格式总结 /// /// private XRTable add_particleSizeS_end() { 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(); XRTableCell Template_Rows1_Cell_7 = new XRTableCell(); XRTableCell Template_Rows1_Cell_8 = new XRTableCell(); XRTableCell Template_Rows1_Cell_9 = new XRTableCell(); Template_Rows1_Cell_1.WidthF = 200f; Template_Rows1_Cell_2.WidthF = 55f; Template_Rows1_Cell_3.WidthF = 59f; Template_Rows1_Cell_4.WidthF = 59f; Template_Rows1_Cell_5.WidthF = 59f; Template_Rows1_Cell_6.WidthF = 59f; Template_Rows1_Cell_7.WidthF = 59f; Template_Rows1_Cell_8.WidthF = 59f; Template_Rows1_Cell_9.WidthF = 59f; 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_Rows_1.Controls.Add(Template_Rows1_Cell_7); Template_Rows_1.Controls.Add(Template_Rows1_Cell_8); Template_Rows_1.Controls.Add(Template_Rows1_Cell_9); Template.Rows.Add(Template_Rows_1); Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.SizeF = new SizeF(668f, Template.SizeF.Height); Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; //Template.Rows[0].BackColor = Color.DarkGray; //Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; return Template; } /// /// 元素分析无大分类 /// /// private XRTable add_ElementList() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); Template_Rows1_Cell_1.WidthF = 688F; Template_Rows1_Cell_1.BackColor = Color.DarkGray; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template.Rows.Add(Template_Rows_1); XRTableRow Template_Rows_2 = new XRTableRow(); XRTableCell Template_Rows2_Cell_1 = new XRTableCell(); Template_Rows2_Cell_1.WidthF = 688f; Template_Rows_2.Controls.Add(Template_Rows2_Cell_1); Template.Rows.Add(Template_Rows_2); XRTableRow Template_Rows_3 = new XRTableRow(); 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(); XRTableCell Template_Rows3_Cell_12 = new XRTableCell(); XRTableCell Template_Rows3_Cell_13 = new XRTableCell(); Template_Rows3_Cell_2.WidthF = 69f; Template_Rows3_Cell_3.WidthF = 50f; Template_Rows3_Cell_4.WidthF = 50f; Template_Rows3_Cell_5.WidthF = 50f; Template_Rows3_Cell_6.WidthF = 50f; Template_Rows3_Cell_7.WidthF = 50f; Template_Rows3_Cell_8.WidthF = 50f; Template_Rows3_Cell_9.WidthF = 50f; Template_Rows3_Cell_10.WidthF = 50f; Template_Rows3_Cell_11.WidthF = 50f; Template_Rows3_Cell_12.WidthF = 50f; Template_Rows3_Cell_13.WidthF = 50f; 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_Rows_3.Controls.Add(Template_Rows3_Cell_12); Template_Rows_3.Controls.Add(Template_Rows3_Cell_13); Template.Rows.Add(Template_Rows_3); Template.WidthF = 668f; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; //元素分析表 setXRLabelData(Template.Rows[0].Cells[0], GetlanguageData("xrCellElementArea", languageData, "元素分析表"));//元素分析表表头 setXRLabelData(Template.Rows[1].Cells[0], GetlanguageData("xrCellElementArea_details", languageData, "Reported average chemical composition (w %), area(μ m^2)"));//详情 setXRLabelData(Template.Rows[2].Cells[0], GetlanguageData("xrCell_Element_classify", languageData, "分类"));//细分 setXRLabelData(Template.Rows[2].Cells[1], GetlanguageData("xrCell_Element_Area", languageData, "面积"));//面积 return Template; } /// /// 元素分析有大分类 /// /// private XRTable add_ElementListS() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); Template_Rows1_Cell_1.WidthF = 688F; Template_Rows1_Cell_1.BackColor = Color.DarkGray; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template.Rows.Add(Template_Rows_1); XRTableRow Template_Rows_2 = new XRTableRow(); XRTableCell Template_Rows2_Cell_1 = new XRTableCell(); Template_Rows2_Cell_1.WidthF = 688f; Template_Rows_2.Controls.Add(Template_Rows2_Cell_1); Template.Rows.Add(Template_Rows_2); 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(); XRTableCell Template_Rows3_Cell_12 = new XRTableCell(); XRTableCell Template_Rows3_Cell_13 = new XRTableCell(); Template_Rows3_Cell_1.WidthF = 69f; Template_Rows3_Cell_2.WidthF = 69f; Template_Rows3_Cell_3.WidthF = 50f; Template_Rows3_Cell_4.WidthF = 50f; Template_Rows3_Cell_5.WidthF = 50f; Template_Rows3_Cell_6.WidthF = 50f; Template_Rows3_Cell_7.WidthF = 50f; Template_Rows3_Cell_8.WidthF = 50f; Template_Rows3_Cell_9.WidthF = 50f; Template_Rows3_Cell_10.WidthF = 50f; Template_Rows3_Cell_11.WidthF = 50f; Template_Rows3_Cell_12.WidthF = 50f; Template_Rows3_Cell_13.WidthF = 50f; 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_Rows_3.Controls.Add(Template_Rows3_Cell_12); Template_Rows_3.Controls.Add(Template_Rows3_Cell_13); Template.Rows.Add(Template_Rows_3); Template.WidthF = 668f; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template.Rows[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft; //元素分析表 setXRLabelData(Template.Rows[0].Cells[0], GetlanguageData("xrCellElementArea", languageData, "元素分析表"));//元素分析表表头 setXRLabelData(Template.Rows[1].Cells[0], GetlanguageData("xrCellElementArea_details", languageData, "Reported average chemical composition (w %), area(μ m^2)"));//详情 setXRLabelData(Template.Rows[2].Cells[0], GetlanguageData("xrCell_Element_classify", languageData, "分类"));//分类 setXRLabelData(Template.Rows[2].Cells[1], GetlanguageData("xrCell_Element_subdivision", languageData, "二级分类"));//细分 setXRLabelData(Template.Rows[2].Cells[2], GetlanguageData("xrCell_Element_Area", languageData, "面积"));//面积 ////元素分析表———————— //setXRLabelData(xrTableCell30, GetlanguageData("xrCellElementArea", languageData));//元素分析表表头 //setXRLabelData(xrTableCell31, GetlanguageData("xrCellElementArea_details", languageData));//详情 return Template; } private XRTable add_IncaDorm() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); Template_Rows1_Cell_1.WidthF = 668F; Template_Rows1_Cell_1.BackColor = Color.DarkGray; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template.Rows.Add(Template_Rows_1); 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(); Template_Rows2_Cell_1.WidthF = 133.6f; Template_Rows2_Cell_2.WidthF = 133.6f; Template_Rows2_Cell_3.WidthF = 133.6f; Template_Rows2_Cell_4.WidthF = 133.6f; 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.Add(Template_Rows_2); Template.WidthF = 668f; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; setXRLabelData(Template.Rows[0].Cells[0], GetlanguageData("xrCellAreaOfInclusion", languageData, "夹杂物面积比表"));//夹杂物面积比表表头 setXRLabelData(Template.Rows[1].Cells[0], "分类");//细分类 setXRLabelData(Template.Rows[1].Cells[1], GetlanguageData("xrCell_inclusion_Area", languageData, "面积(μm^2)"));//面积(μm^2) setXRLabelData(Template.Rows[1].Cells[2], GetlanguageData("xrCell_inclusion_percentageOfIncA", languageData, "夹杂物比(%)"));//夹杂物比(%) setXRLabelData(Template.Rows[1].Cells[3], GetlanguageData("xrCell_inclusion_FieldRatio", languageData, "视场占比(%)"));//视场占比(%) return Template; } private XRTable add_IncaDormS() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); XRTableCell Template_Rows1_Cell_1 = new XRTableCell(); Template_Rows1_Cell_1.WidthF = 668F; Template_Rows1_Cell_1.BackColor = Color.DarkGray; Template_Rows_1.Controls.Add(Template_Rows1_Cell_1); Template.Rows.Add(Template_Rows_1); 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(); Template_Rows2_Cell_1.WidthF = 133.6f; Template_Rows2_Cell_2.WidthF = 133.6f; Template_Rows2_Cell_3.WidthF = 133.6f; Template_Rows2_Cell_4.WidthF = 133.6f; Template_Rows2_Cell_5.WidthF = 133.6f; 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.Add(Template_Rows_2); Template.WidthF = 668f; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; setXRLabelData(Template.Rows[0].Cells[0], GetlanguageData("xrCellAreaOfInclusion", languageData, "夹杂物面积比表"));//夹杂物面积比表表头 setXRLabelData(Template.Rows[1].Cells[0], GetlanguageData("xrCell_inclusion_classify", languageData, "分类"));//分类 setXRLabelData(Template.Rows[1].Cells[1], GetlanguageData("xrCell_inclusion_subdivision", languageData, "二级分类"));//细分类 setXRLabelData(Template.Rows[1].Cells[2], GetlanguageData("xrCell_inclusion_Area", languageData, "面积(μm^2)"));//面积(μm^2) setXRLabelData(Template.Rows[1].Cells[3], GetlanguageData("xrCell_inclusion_percentageOfIncA", languageData, "夹杂物比(%)"));//夹杂物比(%) setXRLabelData(Template.Rows[1].Cells[4], GetlanguageData("xrCell_inclusion_FieldRatio", languageData, "视场占比(%)"));//视场占比(%) return Template; } #region 颗粒列表 private XRTable add_XRTable() { XRTable Template = new XRTable(); XRTableRow Template_Rows_1 = new XRTableRow(); 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_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_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_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(); XRTableCell Template_Rows5_Cell_2 = new XRTableCell(); XRTableCell Template_Rows5_Cell_3 = new XRTableCell(); Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; Template_Rows1_Cell_2.WidthF = 57.22f; Template_Rows1_Cell_3.WidthF = 256f; Template_Rows1_Cell_4.WidthF = 85.85f; Template_Rows1_Cell_5.WidthF = 85.85f; Template_Rows1_Cell_6.WidthF = 85.85f; 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_2.WidthF = 57.22f; Template_Rows2_Cell_3.WidthF = 256f; Template_Rows2_Cell_4.WidthF = 85.85f; Template_Rows2_Cell_5.WidthF = 85.85f; Template_Rows2_Cell_6.WidthF = 85.85f; 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_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_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_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_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_Rows5_Cell_1.WidthF = 120f; Template_Rows5_Cell_2.WidthF = 120f; Template_Rows5_Cell_3.WidthF = 448f; Template_Rows_5.Controls.Add(Template_Rows5_Cell_1); Template_Rows_5.Controls.Add(Template_Rows5_Cell_2); Template_Rows_5.Controls.Add(Template_Rows5_Cell_3); 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(Schriftart_english, 12f); Template.Rows[2].Font = new Font(Schriftart_english, 12f); Template.Rows[1].Font = new Font(Schriftart_english, 12f); Template.Rows[3].Font = new Font(Schriftart_english, 12f); Template.Rows[0].BackColor = Color.DarkGray; Template.Rows[2].BackColor = Color.DarkGray; Template.Rows[2].BackColor = Color.DarkGray; Template.Borders = DevExpress.XtraPrinting.BorderSide.All; return Template; } private void add_kllb(c_TemplateClass TemplateClass, DataTable dataTable, int position, XRTable xRTable, DataTable ElementIcons) { XRTable table = new XRTable(); table = xRTable; table.Name = "table_kllb_" + position.ToString(); table.Rows[0].Cells[0].Text = "ID"; table.Rows[0].Cells[1].Text = "Class"; table.Rows[0].Cells[2].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p1.ToString(); table.Rows[0].Cells[3].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p2.ToString(); table.Rows[0].Cells[4].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p3.ToString(); table.Rows[1].Cells[0].Text = dataTable.Rows[position]["pid"].ToString(); table.Rows[1].Cells[1].Text = dataTable.Rows[position]["Class"].ToString(); table.Rows[1].Cells[2].Text = dataTable.Rows[position]["Size"].ToString(); table.Rows[1].Cells[3].Text = dataTable.Rows[position]["DMAX"].ToString(); table.Rows[1].Cells[4].Text = dataTable.Rows[position]["DMIN"].ToString(); for (int i = 0; i < 10; i++) { table.Rows[2].Cells[i].Text = dataTable.Rows[position]["ColName" + (i + 1).ToString()].ToString(); string str_ColVal = ""; if (dataTable.Rows[position]["ColVal" + (i + 1).ToString()].ToString() == "0") { str_ColVal = "0"; } else { str_ColVal = dataTable.Rows[position]["ColVal" + (i + 1).ToString()].ToString(); } table.Rows[3].Cells[i].Text = str_ColVal; } XRPictureBox xRPicture2 = new XRPictureBox(); xRPicture2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.AutoSize; xRPicture2.ImageSource = new ImageSource((Bitmap)dataTable.Rows[position]["p3"]); XRPictureBox xRPicture3 = new XRPictureBox(); xRPicture3.ImageSource = new ImageSource((Bitmap)dataTable.Rows[position]["p1"]); xRPicture3.SizeF = new SizeF(120f, 120f); xRPicture3.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze; XRPictureBox xRPicture4 = new XRPictureBox(); xRPicture4.ImageSource = new ImageSource((Bitmap)dataTable.Rows[position]["p2"]); xRPicture4.SizeF = new SizeF(120f, 120f); xRPicture4.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze; //XRChart xRChart= ParticleSpectrogramControl(ElementIcons); table.Rows[4].Cells[0].Controls.Add(xRPicture3); table.Rows[4].Cells[1].Controls.Add(xRPicture4); table.Rows[4].Cells[2].Controls.Add(xRPicture2); //table.Rows[4].Cells[1].Controls.Add(xRChart); table.Rows[4].Cells[2].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter; table.Visible = true; table.LocationF = new PointF(0, NeueStartposition); table.SendToBack(); table.BorderWidth = 0.5f; this.Detail.Controls.Add(table); NeueStartposition = table.SizeF.Height + NeueStartposition; } #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 = 334.15f; Template_Rows1_Cell_3.WidthF = 133.66f; Template_Rows1_Cell_4.WidthF = 133.66f; 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 = 334.15f; Template_Rows2_Cell_3.WidthF = 133.66f; Template_Rows2_Cell_4.WidthF = 133.66f; 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 = 94.63f; Template_Rows3_Cell_2.WidthF = 66.83f; Template_Rows3_Cell_3.WidthF = 66.83f; Template_Rows3_Cell_4.WidthF = 66.83f; Template_Rows3_Cell_5.WidthF = 66.83f; Template_Rows3_Cell_6.WidthF = 66.83f; Template_Rows3_Cell_7.WidthF = 66.83f; Template_Rows3_Cell_8.WidthF = 66.83f; Template_Rows3_Cell_9.WidthF = 66.83f; Template_Rows3_Cell_10.WidthF = 66.83f; 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 = 94.63f; Template_Rows4_Cell_2.WidthF = 66.83f; Template_Rows4_Cell_3.WidthF = 66.83f; Template_Rows4_Cell_4.WidthF = 66.83f; Template_Rows4_Cell_5.WidthF = 66.83f; Template_Rows4_Cell_6.WidthF = 66.83f; Template_Rows4_Cell_7.WidthF = 66.83f; Template_Rows4_Cell_8.WidthF = 66.83f; Template_Rows4_Cell_9.WidthF = 66.83f; Template_Rows4_Cell_10.WidthF = 66.83f; 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.Rows[2].Cells[0].BackColor = Color.Transparent; Template.Rows[2].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right; Template.Rows[1].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Right | DevExpress.XtraPrinting.BorderSide.Top; //Transparent Template.Borders = DevExpress.XtraPrinting.BorderSide.All; Template.SizeF = new SizeF(688f, 30); Template.Font = new Font(Schriftart_english, 12f); return Template; } #endregion private void xrLabel_pageinfo_PrintOnPage(object sender, PrintOnPageEventArgs e) { int pagecount = e.PageCount; int pageindex = e.PageIndex; if (pageindex < 1) { this.xrLabel_pageinfo.Visible = false; } else { xrLabel_pageinfo.Font = new Font(Schriftart_chinese, xrLabel_pageinfo.Font.Size); this.xrLabel_pageinfo.Visible = true; //this.xrLabel_pageinfo.Text = string.Format("第{0}页,共{1}页", pageindex, pagecount - 1); this.xrLabel_pageinfo.Text = string.Format(GetlanguageData("dev_Page", languageData, "页码") + " {0} "+ GetlanguageData("dev_of", languageData, "/") + " {1}" , pageindex, pagecount - 1); } } } 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 ElementalAnalysisDEVDataS { 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; } } }