OTS_DEVReport.cs 71 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273
  1. using DevExpress.XtraCharts;
  2. using DevExpress.XtraPrinting.Drawing;
  3. using DevExpress.XtraReports.UI;
  4. using OTSIncAReportApp.OTSTemplateDesigner;
  5. using OTSIncAReportGrids;
  6. using System;
  7. using System.Collections.Generic;
  8. using System.Data;
  9. using System.Drawing;
  10. using static OTSIncAReportApp.OTSReport_Export;
  11. namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
  12. {
  13. public partial class OTS_DEVReport : DevExpress.XtraReports.UI.XtraReport
  14. {
  15. public OTSReport_Export m_otsreport_export;
  16. //string typeface = "Arial Unicode MS";
  17. string Schriftart_chinese = "微软雅黑";
  18. string Schriftart_english = "Arial Unicode MS";
  19. List<string> TemplateList;
  20. Export_ReportTemplate export_ReportTemplate;
  21. //SizeF syx_Size = new SizeF(668f, 660.54f);
  22. SizeF syx_Size = new SizeF(668f, 616.67f);
  23. //float LowPlace = 3120f;
  24. float NeueStartposition = 3300f;
  25. ElementSubscript subscript=new ElementSubscript();
  26. c_TemplateClass TemplateClass;
  27. public OTS_DEVReport(OTSReport_Export in_export, c_TemplateClass a_Template)
  28. {
  29. TemplateClass = a_Template;
  30. m_otsreport_export = in_export;
  31. ElementSubscript subscript = new ElementSubscript();
  32. export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export);
  33. TemplateList = new List<string>();
  34. //加载三元相图各项
  35. string pathtpf = in_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.TrigTemplateFileFolder + "\\" + in_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.TriTempFile;
  36. DataSet ds = DataOperation.DataAccess.XMLoperate.GetXmlData(pathtpf, "XMLData");
  37. DataTable dt = ds.Tables["Member"];
  38. foreach (DataRow item in dt.Rows)
  39. {
  40. if (item["TemplateName"].ToString() != "")
  41. {
  42. TemplateList.Add(item["TemplateName"].ToString());
  43. }
  44. }
  45. InitializeComponent();
  46. }
  47. #region 接口
  48. /// <summary>
  49. /// 国际化显示
  50. /// </summary>
  51. /// <param name="languageData"></param>
  52. public void International_language(DataTable languageData)
  53. {
  54. setXRLabelData(dev_ypbh_up, GetlanguageData(dev_ypbh_up.Name.ToString(), languageData));//样品编号(中间的)
  55. setXRLabelData(dev_bgsj_up, GetlanguageData(dev_bgsj_up.Name.ToString(), languageData));//报告时间(中间的)
  56. setXRLabelData(dev_jcjgwj_up, GetlanguageData(dev_jcjgwj_up.Name.ToString(), languageData));//检测结果文件(中间的)
  57. setXRLabelData(dev_ckbz_up, GetlanguageData(dev_ckbz_up.Name.ToString(), languageData));//参考标准(中间的)
  58. setXRLabelData(dev_ypsm, GetlanguageData(dev_ypsm.Name.ToString(), languageData));//表中样品说明
  59. setXRLabelData(dev_jcjgwj, GetlanguageData(dev_jcjgwj.Name.ToString(), languageData));//表中测量结果名称
  60. setXRLabelData(dev_cljggk, GetlanguageData(dev_cljggk.Name.ToString(), languageData));//表中测量结果概况
  61. setXRLabelData(dev_yxsj, GetlanguageData(dev_yxsj.Name.ToString(), languageData));//表中运行时间
  62. setXRLabelData(dev_sczs, GetlanguageData(dev_sczs.Name.ToString(), languageData));//表中视场总数
  63. setXRLabelData(dev_flfa, GetlanguageData(dev_flfa.Name.ToString(), languageData));//表中分类方案
  64. setXRLabelData(dev_ckbz, GetlanguageData(dev_ckbz.Name.ToString(), languageData));//表中参考标准
  65. setXRLabelData(dev_yjctz, GetlanguageData(dev_yjctz.Name.ToString(), languageData));//表中已检测特征
  66. setXRLabelData(dev_scmj, GetlanguageData(dev_scmj.Name.ToString(), languageData));//表中视场面积
  67. setXRLabelData(dev_bgsj, GetlanguageData(dev_bgsj.Name.ToString(), languageData));//表中报告时间
  68. setXRLabelData(dev_fdbs, GetlanguageData(dev_fdbs.Name.ToString(), languageData));//表中放大倍数
  69. //颗粒列表图
  70. setXRLabelData(xrLabel_size_IconQuestion_Class, GetlanguageData(xrLabel_size_IconQuestion_Class.Name.ToString(), languageData));//大类图表头
  71. setXRLabelData(xrLabel_size_IconQuestion_Subdivision, GetlanguageData(xrLabel_size_IconQuestion_Subdivision.Name.ToString(), languageData));//细分类表头
  72. //元素分析表
  73. setXRLabelData(xrCellElementArea, GetlanguageData(xrCellElementArea.Name.ToString(), languageData));//元素分析表表头
  74. setXRLabelData(xrCellElementArea_details, GetlanguageData(xrCellElementArea_details.Name.ToString(), languageData));//详情
  75. setXRLabelData(xrCell_Element_classify, GetlanguageData(xrCell_Element_classify.Name.ToString(), languageData));//分类
  76. setXRLabelData(xrCell_Element_subdivision, GetlanguageData(xrCell_Element_subdivision.Name.ToString(), languageData));//细分
  77. setXRLabelData(xrCell_Element_Area, GetlanguageData(xrCell_Element_Area.Name.ToString(), languageData));//面积
  78. //元素分析表————————
  79. setXRLabelData(xrTableCell30, GetlanguageData(xrCellElementArea.Name.ToString(), languageData));//元素分析表表头
  80. setXRLabelData(xrTableCell31, GetlanguageData(xrCellElementArea_details.Name.ToString(), languageData));//详情
  81. //夹杂物面积比
  82. setXRLabelData(xrCellAreaOfInclusion, GetlanguageData(xrCellAreaOfInclusion.Name.ToString(), languageData));//夹杂物面积比表表头
  83. setXRLabelData(xrCell_inclusion_classify, GetlanguageData(xrCell_inclusion_classify.Name.ToString(), languageData));//分类
  84. setXRLabelData(xrCell_inclusion_subdivision, GetlanguageData(xrCell_inclusion_subdivision.Name.ToString(), languageData));//细分类
  85. setXRLabelData(xrCell_inclusion_Area, GetlanguageData(xrCell_inclusion_Area.Name.ToString(), languageData));//面积(μm^2)
  86. setXRLabelData(xrCell_inclusion_percentageOfIncA, GetlanguageData(xrCell_inclusion_percentageOfIncA.Name.ToString(), languageData));//夹杂物比(%)
  87. setXRLabelData(xrCell_inclusion_FieldRatio, GetlanguageData(xrCell_inclusion_FieldRatio.Name.ToString(), languageData));//视场占比(%)
  88. //夹杂物面积比图
  89. setXRLabelData(xrLabel_inca_pic_class, GetlanguageData(xrLabel_inca_pic_class.Name.ToString(), languageData));//夹杂物面积比图
  90. setXRLabelData(xrLabel_inca_pic_subdivision, GetlanguageData(xrLabel_inca_pic_subdivision.Name.ToString(), languageData));//夹杂物面积比细分图
  91. setXRLabelData(dev_DimensionTable, GetlanguageData(dev_DimensionTable.Name.ToString(), languageData));//颗粒尺寸分析结果
  92. setXRLabelData(dev_DimensionTable_2, GetlanguageData(dev_DimensionTable_2.Name.ToString(), languageData));//尺寸计算基于:
  93. }
  94. /// <summary>
  95. /// 首页部分数据插入
  96. /// </summary>
  97. /// <param name="TemplateClass"></param>
  98. public void setResultGrid()
  99. {
  100. #region 从Grid表中读取样品数据
  101. //------------------加载模块,获取数据-------------------------------------------------
  102. ResultGrid ls_resultgrid = new ResultGrid(m_otsreport_export.m_ReportApp);
  103. Dictionary<string, string> keyValues_ResultGrid = ls_resultgrid.GetData_ResultGrid_Report();
  104. //------------------加载模块,获取数据结束----------------------------------------------
  105. Dictionary<string, string>.Enumerator en = keyValues_ResultGrid.GetEnumerator();
  106. keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col1"].ToString(), out string str_CLJGMC);//测量结果名称
  107. keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col4"].ToString(), out string str_YXSJ);//运行时间
  108. keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col5"].ToString(), out string str_SCZS);//视场总数
  109. keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col6"].ToString(), out string str_FLFA);//分类方案
  110. keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col7"].ToString(), out string str_YJCTZ);//已检测特征
  111. keyValues_ResultGrid.TryGetValue(ls_resultgrid.table["col8"].ToString(), out string str_SCMJ);//视场面积
  112. keyValues_ResultGrid.TryGetValue("Magnification", out string Magnification);//放大倍数
  113. #endregion
  114. #region 加载Grid表数据
  115. setTableCellData(dev_jcjgwj_text, str_CLJGMC);//测量结果名称
  116. setTableCellData(dev_yxsj_text, str_YXSJ);//运行时间
  117. setTableCellData(dev_sczs_text, str_SCZS);//视场总数
  118. setTableCellData(dev_flfa_text, str_FLFA);//分类方案
  119. setTableCellData(dev_yjctz_text, str_YJCTZ);//已检测特征
  120. setTableCellData(dev_scmj_text, str_SCMJ);//视场面积
  121. setTableCellData(dev_fdbs_text, Magnification);//放大倍数
  122. setTableCellData(dev_bgsj_text, DateTime.Now.ToShortDateString().ToString());//报告时间:
  123. setTableCellData(dev_ckbz_text, TemplateClass.M_SY.str_tb_CKBZ.ToString());//参考标准
  124. #endregion
  125. #region 加载模板设置文档数据
  126. setXRLabelData(dev_ym, TemplateClass.M_YMYJ.str_tb_ymwb.ToString());//页眉
  127. setXRLabelData(dev_yj, TemplateClass.M_YMYJ.str_tb_yjwb.ToString());//页脚
  128. setXRLabelData(dev_zbt, TemplateClass.M_SY.str_tb_ZBT.ToString());//主标题
  129. setXRLabelData(dev_fbt, TemplateClass.M_SY.str_tb_FBT.ToString());//副标题
  130. setXRLabelData(dev_ypbh_text_up, TemplateClass.M_SY.str_tb_YPBH.ToString());//样品编号
  131. setXRLabelData(dev_bgsj_text_up, DateTime.Now.ToShortDateString().ToString());//当前日期
  132. setXRLabelData(dev_jcjgwj_text_up, str_CLJGMC);//测量结果名称
  133. setXRLabelData(dev_ckbz_text_up, TemplateClass.M_SY.str_tb_CKBZ.ToString());//参考标准
  134. #endregion
  135. }
  136. /// <summary>
  137. /// 颗粒尺寸分析表
  138. /// </summary>
  139. /// <param name="TemplateClass"></param>
  140. public void setParticleSizeTable()
  141. {
  142. //ElementSubscript subscript = new ElementSubscript();
  143. // Export_ReportTemplate export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export);
  144. export_ReportTemplate.ParticleSizeTable(TemplateClass, out DataTable surface_dt, out DataTable ls_partsize_dt, out DataTable class_dt, out DataTable subdivde_dt);
  145. for (int i=0;i< class_dt.Rows.Count;i++)
  146. {
  147. class_dt.Rows[i]["Class"] = subscript.Getsubscriptstring(class_dt.Rows[i]["Class"].ToString());
  148. }
  149. for (int i=0;i< subdivde_dt.Rows.Count;i++)
  150. {
  151. subdivde_dt.Rows[i]["Name"] = subscript.Getsubscriptstring(subdivde_dt.Rows[i]["Name"].ToString());
  152. subdivde_dt.Rows[i]["Class"] = subscript.Getsubscriptstring(subdivde_dt.Rows[i]["Class"].ToString());
  153. }
  154. #region 插入数据
  155. xrTa_ParticleSizeTable.Visible = true;
  156. xrChart_ParticelSizeCalss.Visible = true;
  157. xrChart_ParticelSizeSubdivision.Visible = true;
  158. xrLabel_size_IconQuestion_Class.Visible = true;
  159. xrLabel_size_IconQuestion_Subdivision.Visible = true;
  160. List<List<ParticleSizeDEVData>> list_ParticelSizeData = new List<List<ParticleSizeDEVData>>();
  161. for (int i = 0; i < surface_dt.Rows.Count; i++)
  162. {
  163. list_ParticelSizeData.Add(switch_ParticleSize(subscript.Getsubscriptstring(surface_dt.Rows[i]["Class"].ToString()) , subscript.Getsubscriptstring(surface_dt.Rows[i]["Name"].ToString()), surface_dt.Rows[i]["total"].ToString(), surface_dt.Rows[i]["c1"].ToString(), surface_dt.Rows[i]["c2"].ToString(), surface_dt.Rows[i]["c3"].ToString(),
  164. surface_dt.Rows[i]["c4"].ToString(), surface_dt.Rows[i]["c5"].ToString(), surface_dt.Rows[i]["c6"].ToString(), surface_dt.Rows[i]["c7"].ToString()));
  165. }
  166. dev_size_1.Text = ls_partsize_dt.Rows[0]["c1"].ToString();
  167. dev_size_2.Text = ls_partsize_dt.Rows[0]["c2"].ToString();
  168. dev_size_3.Text = ls_partsize_dt.Rows[0]["c3"].ToString();
  169. dev_size_4.Text = ls_partsize_dt.Rows[0]["c4"].ToString();
  170. dev_size_5.Text = ls_partsize_dt.Rows[0]["c5"].ToString();
  171. dev_size_6.Text = ls_partsize_dt.Rows[0]["c6"].ToString();
  172. dev_size_7.Text = ls_partsize_dt.Rows[0]["c7"].ToString();
  173. dev_DimensionTable_2.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
  174. dev_DimensionTable_2.Text = dev_DimensionTable_2.Text.ToString() + TemplateClass.M_KLFXJG.str_cb_klcc_jsfs.ToString();
  175. dev_DimensionTable_2.Font = new Font(Schriftart_chinese, dev_DimensionTable_2.Font.Size);
  176. for (int i = 0; i < surface_dt.Rows.Count; i++)
  177. {
  178. XRTableRow row = new XRTableRow();
  179. XRTableCell tCell_Class = new XRTableCell();
  180. XRTableCell tCell_Name = new XRTableCell();
  181. XRTableCell tCell_total = new XRTableCell();
  182. XRTableCell tCell_size_1 = new XRTableCell();
  183. XRTableCell tCell_size_2 = new XRTableCell();
  184. XRTableCell tCell_size_3 = new XRTableCell();
  185. XRTableCell tCell_size_4 = new XRTableCell();
  186. XRTableCell tCell_size_5 = new XRTableCell();
  187. XRTableCell tCell_size_6 = new XRTableCell();
  188. XRTableCell tCell_size_7 = new XRTableCell();
  189. XRTableCellData(row, tCell_Class, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_Class");
  190. XRTableCellData(row, tCell_Name, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_Name");
  191. XRTableCellData(row, tCell_total, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_total");
  192. XRTableCellData(row, tCell_size_1, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_1");
  193. XRTableCellData(row, tCell_size_2, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_2");
  194. XRTableCellData(row, tCell_size_3, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_3");
  195. XRTableCellData(row, tCell_size_4, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_4");
  196. XRTableCellData(row, tCell_size_5, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_5");
  197. XRTableCellData(row, tCell_size_6, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_6");
  198. XRTableCellData(row, tCell_size_7, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ParticelSizeData[i], "size_7");
  199. xrTa_ParticleSizeTable.Rows.Add(row);
  200. }
  201. #region 大分类chart图
  202. // 实例化饼图对象
  203. Series pieSeriesClass = new Series("颗粒尺寸大分类", ViewType.Pie);
  204. pieSeriesClass.ArgumentScaleType = ScaleType.Qualitative;
  205. // 项目名称
  206. pieSeriesClass.ArgumentDataMember = "Class";
  207. pieSeriesClass.ValueScaleType = ScaleType.Numerical;
  208. //取值字段
  209. pieSeriesClass.ValueDataMembers.AddRange(new string[] { "total" });
  210. (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside;
  211. //显示百分比
  212. pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues;
  213. pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
  214. //设置数据源
  215. pieSeriesClass.DataSource = class_dt;
  216. pieSeriesClass.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
  217. // 饼图空间添加 新建的饼图对象
  218. xrChart_ParticelSizeCalss.Series.Add(pieSeriesClass);
  219. //右上角分组视图
  220. this.xrChart_ParticelSizeCalss.Legend.MarkerSize = new System.Drawing.Size(20, 20);
  221. this.xrChart_ParticelSizeCalss.Legend.TextOffset = 5;
  222. this.xrChart_ParticelSizeCalss.Legend.VerticalIndent = 5;
  223. this.xrChart_ParticelSizeCalss.Legend.Border.Color = Color.Red;//红色边框
  224. #endregion
  225. #region 细分chart图
  226. // 实例化饼图对象
  227. Series pieSeries = new Series("颗粒尺寸细化分类", ViewType.Pie);
  228. pieSeries.ArgumentScaleType = ScaleType.Qualitative;
  229. // 项目名称
  230. pieSeries.ArgumentDataMember = "Name";
  231. pieSeries.ValueScaleType = ScaleType.Numerical;
  232. //取值字段
  233. pieSeries.ValueDataMembers.AddRange(new string[] { "total" });
  234. (pieSeries.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside;
  235. //显示百分比
  236. pieSeries.PointOptions.PointView = PointView.ArgumentAndValues;
  237. pieSeries.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
  238. //设置数据源
  239. pieSeries.DataSource = subdivde_dt;
  240. pieSeries.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
  241. // 饼图空间添加 新建的饼图对象
  242. xrChart_ParticelSizeSubdivision.Series.Add(pieSeries);
  243. //右上角分组视图
  244. this.xrChart_ParticelSizeSubdivision.Legend.MarkerSize = new System.Drawing.Size(20, 20);
  245. this.xrChart_ParticelSizeSubdivision.Legend.TextOffset = 5;
  246. this.xrChart_ParticelSizeSubdivision.Legend.VerticalIndent = 5;
  247. this.xrChart_ParticelSizeSubdivision.Legend.Border.Color = Color.Red;//红色边框
  248. #endregion
  249. #endregion
  250. }
  251. /// <summary>
  252. /// 设置插入元素分析表数据
  253. /// </summary>
  254. /// <param name="TemplateClass"></param>
  255. public void setElementAvgGrid()
  256. {
  257. xrTb_ElementAnalysisTable.Visible = true;
  258. export_ReportTemplate.InsertReportTemplateTable_ElementAvgGrid(TemplateClass, out DataTable dt1, out DataTable dt2,out DataTable allElement_dt);
  259. setXRLabelData(xrCell_Element_s1, dt1.Rows[0][2].ToString());
  260. setXRLabelData(xrCell_Element_s2, dt1.Rows[0][3].ToString());
  261. setXRLabelData(xrCell_Element_s3, dt1.Rows[0][4].ToString());
  262. setXRLabelData(xrCell_Element_s4, dt1.Rows[0][5].ToString());
  263. setXRLabelData(xrCell_Element_s5, dt1.Rows[0][6].ToString());
  264. setXRLabelData(xrCell_Element_s6, dt1.Rows[0][7].ToString());
  265. setXRLabelData(xrCell_Element_s7, dt1.Rows[0][8].ToString());
  266. setXRLabelData(xrCell_Element_s8, dt1.Rows[0][9].ToString());
  267. setXRLabelData(xrCell_Element_s9, dt1.Rows[0][10].ToString());
  268. setXRLabelData(xrCell_Element_s10, dt1.Rows[0][11].ToString());
  269. List<List<ElementalAnalysisDEVData>> list_ElementalAnalysisData = new List<List<ElementalAnalysisDEVData>>();
  270. //ElementSubscript subscript = new ElementSubscript();
  271. for (int i = 0; i < dt2.Rows.Count; i++)
  272. {
  273. list_ElementalAnalysisData.Add(set_ElementalAnalysis(subscript.Getsubscriptstring(dt2.Rows[i]["Class"].ToString()) , subscript.Getsubscriptstring(dt2.Rows[i]["Name"].ToString()), dt2.Rows[i]["Area"].ToString(),
  274. dt2.Rows[i][2].ToString(), dt2.Rows[i][3].ToString(), dt2.Rows[i][4].ToString(), dt2.Rows[i][5].ToString(), dt2.Rows[i][6].ToString(),
  275. dt2.Rows[i][7].ToString(), dt2.Rows[i][8].ToString(), dt2.Rows[i][9].ToString(), dt2.Rows[i][10].ToString(), dt2.Rows[i][11].ToString()));
  276. }
  277. for (int i = 0; i < dt2.Rows.Count; i++)
  278. {
  279. XRTableRow row = new XRTableRow();
  280. XRTableCell tCell_classify = new XRTableCell();
  281. XRTableCell tCell_subdivision = new XRTableCell();
  282. XRTableCell tCell_area = new XRTableCell();
  283. XRTableCell tCell_s1 = new XRTableCell();
  284. XRTableCell tCell_s2 = new XRTableCell();
  285. XRTableCell tCell_s3 = new XRTableCell();
  286. XRTableCell tCell_s4 = new XRTableCell();
  287. XRTableCell tCell_s5 = new XRTableCell();
  288. XRTableCell tCell_s6 = new XRTableCell();
  289. XRTableCell tCell_s7 = new XRTableCell();
  290. XRTableCell tCell_s8 = new XRTableCell();
  291. XRTableCell tCell_s9 = new XRTableCell();
  292. XRTableCell tCell_s10 = new XRTableCell();
  293. XRTableCellData_ElementAnalysis(row, tCell_classify, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "classify");
  294. XRTableCellData_ElementAnalysis(row, tCell_subdivision, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "subdivision");
  295. XRTableCellData_ElementAnalysis(row, tCell_area, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "Area");
  296. XRTableCellData_ElementAnalysis(row, tCell_s1, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s1");
  297. XRTableCellData_ElementAnalysis(row, tCell_s2, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s2");
  298. XRTableCellData_ElementAnalysis(row, tCell_s3, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s3");
  299. XRTableCellData_ElementAnalysis(row, tCell_s4, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s4");
  300. XRTableCellData_ElementAnalysis(row, tCell_s5, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s5");
  301. XRTableCellData_ElementAnalysis(row, tCell_s6, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s6");
  302. XRTableCellData_ElementAnalysis(row, tCell_s7, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s7");
  303. XRTableCellData_ElementAnalysis(row, tCell_s8, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s8");
  304. XRTableCellData_ElementAnalysis(row, tCell_s9, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s9");
  305. XRTableCellData_ElementAnalysis(row, tCell_s10, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_ElementalAnalysisData[i], "s10");
  306. xrTb_ElementAnalysisTable.Rows.Add(row);
  307. }
  308. xrTb_ElementAnalysis.Visible = true;
  309. xrPageBreak6.Visible = true;
  310. for (int i=0;i< allElement_dt.Rows.Count;i++)
  311. {
  312. string str_data = "";
  313. for (int a=4;a< allElement_dt.Columns.Count;a++)
  314. {
  315. if (allElement_dt.Rows[i][a].ToString()!="")
  316. {
  317. str_data = str_data + allElement_dt.Columns[a].ColumnName.ToString() + "=" + allElement_dt.Rows[i][a].ToString() + "%"+" ";
  318. }
  319. }
  320. xrTb_ElementAnalysis.Rows.Add(addElementalAnalysisRows(allElement_dt.Rows[i]["Name"].ToString(), str_data));
  321. }
  322. }
  323. private XRTableRow addElementalAnalysisRows(string className,string data)
  324. {
  325. XRTableRow row = new XRTableRow();
  326. XRTableCell tCell_class = new XRTableCell();
  327. XRTableCell tCell_data = new XRTableCell();
  328. tCell_class.Text = className;
  329. tCell_class.WidthF = 116.29f;
  330. tCell_data.Text = data;
  331. tCell_data.WidthF = 551.71f;
  332. row.Controls.Add(tCell_class);
  333. row.Controls.Add(tCell_data);
  334. return row;
  335. }
  336. /// <summary>
  337. /// 设置插入夹杂物面积比表数据
  338. /// </summary>
  339. /// <param name="TemplateClass"></param>
  340. public void setINCAtable()
  341. {
  342. //ElementSubscript subscript = new ElementSubscript();
  343. export_ReportTemplate.GenerateINCAtable(dev_scmj_text.Text, out DataTable dt);
  344. xr_tbAreaOfInclusion.Visible = true;
  345. List<List<AreaOfInclusionDEVData>> list_AreaOfInclusion = new List<List<AreaOfInclusionDEVData>>();
  346. for (int i = 0; i < dt.Rows.Count; i++)
  347. {
  348. list_AreaOfInclusion.Add(set_AreaOfInclusion(subscript.Getsubscriptstring(dt.Rows[i]["Class"].ToString()) , subscript.Getsubscriptstring(dt.Rows[i]["subdivision"].ToString()), dt.Rows[i]["Area"].ToString(), dt.Rows[i]["inca_proportion"].ToString(),
  349. dt.Rows[i]["inca_FieldRatio"].ToString()));
  350. }
  351. for (int i = 0; i < dt.Rows.Count; i++)
  352. {
  353. XRTableRow row = new XRTableRow();
  354. XRTableCell tCell_classify = new XRTableCell();
  355. XRTableCell tCell_subdivision = new XRTableCell();
  356. XRTableCell tCell_area = new XRTableCell();
  357. XRTableCell tCell_inca_proportion = new XRTableCell();
  358. XRTableCell tCell_inca_FieldRatio = new XRTableCell();
  359. XRTableCellData_AreaOfInclusion(row, tCell_classify, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "classify");
  360. XRTableCellData_AreaOfInclusion(row, tCell_subdivision, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "subdivision");
  361. XRTableCellData_AreaOfInclusion(row, tCell_area, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "Area");
  362. XRTableCellData_AreaOfInclusion(row, tCell_inca_proportion, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_proportion");
  363. XRTableCellData_AreaOfInclusion(row, tCell_inca_FieldRatio, Schriftart_english, DevExpress.XtraPrinting.TextAlignment.MiddleCenter, "Text", list_AreaOfInclusion[i], "inca_FieldRatio");
  364. xr_tbAreaOfInclusion.Rows.Add(row);
  365. }
  366. }
  367. /// <summary>
  368. /// 设置插入夹杂物面积比图像
  369. /// </summary>
  370. /// <param name="TemplateClass"></param>
  371. public void set_incaPIC_classify()
  372. {
  373. xrChart_incaClass.Visible = true;
  374. xrLabel_inca_pic_class.Visible = true;
  375. DataTable data = export_ReportTemplate.ClassificationIntegration(TemplateClass, dev_sczs_text.Text);
  376. for (int i=0;i< data.Rows.Count;i++)
  377. {
  378. data.Rows[i]["Class"] = subscript.Getsubscriptstring(data.Rows[i]["Class"].ToString());
  379. }
  380. // 实例化饼图对象
  381. Series pieSeriesClass = new Series("夹杂物面积比分类", ViewType.Pie);
  382. pieSeriesClass.ArgumentScaleType = ScaleType.Qualitative;
  383. // 项目名称
  384. pieSeriesClass.ArgumentDataMember = "Class";
  385. pieSeriesClass.ValueScaleType = ScaleType.Numerical;
  386. //取值字段
  387. pieSeriesClass.ValueDataMembers.AddRange(new string[] { "Cunt" });
  388. (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside;
  389. //显示百分比
  390. pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues;
  391. pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
  392. //设置数据源
  393. pieSeriesClass.DataSource = data;
  394. pieSeriesClass.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
  395. // 饼图空间添加 新建的饼图对象
  396. xrChart_incaClass.Series.Add(pieSeriesClass);
  397. //右上角分组视图
  398. this.xrChart_incaClass.Legend.MarkerSize = new System.Drawing.Size(20, 20);
  399. this.xrChart_incaClass.Legend.TextOffset = 5;
  400. this.xrChart_incaClass.Legend.VerticalIndent = 5;
  401. this.xrChart_incaClass.Legend.Border.Color = Color.Red;//红色边框
  402. }
  403. public void set_incaPIC_subdivision()
  404. {
  405. xrChart_incaSubdivision.Visible = true;
  406. xrLabel_inca_pic_subdivision.Visible = true;
  407. DataTable data = export_ReportTemplate.subdivisionIntegration(TemplateClass);
  408. for (int i=0;i<data.Rows.Count;i++)
  409. {
  410. data.Rows[i]["TypeName"] = subscript.Getsubscriptstring(data.Rows[i]["TypeName"].ToString());
  411. data.Rows[i]["GroupName"] = subscript.Getsubscriptstring(data.Rows[i]["GroupName"].ToString());
  412. }
  413. // 实例化饼图对象
  414. Series pieSeriesClass = new Series("夹杂物面积比细分类", ViewType.Pie);
  415. pieSeriesClass.ArgumentScaleType = ScaleType.Qualitative;
  416. // 项目名称
  417. pieSeriesClass.ArgumentDataMember = "TypeName";
  418. pieSeriesClass.ValueScaleType = ScaleType.Numerical;
  419. //取值字段
  420. pieSeriesClass.ValueDataMembers.AddRange(new string[] { "con" });
  421. (pieSeriesClass.Label as PieSeriesLabel).Position = PieSeriesLabelPosition.Inside;
  422. //显示百分比
  423. pieSeriesClass.PointOptions.PointView = PointView.ArgumentAndValues;
  424. pieSeriesClass.PointOptions.ValueNumericOptions.Format = NumericFormat.Percent;
  425. //设置数据源
  426. pieSeriesClass.DataSource = data;
  427. pieSeriesClass.LabelsVisibility = DevExpress.Utils.DefaultBoolean.False;
  428. // 饼图空间添加 新建的饼图对象
  429. xrChart_incaSubdivision.Series.Add(pieSeriesClass);
  430. //右上角分组视图
  431. this.xrChart_incaSubdivision.Legend.MarkerSize = new System.Drawing.Size(20, 20);
  432. this.xrChart_incaSubdivision.Legend.TextOffset = 5;
  433. this.xrChart_incaSubdivision.Legend.VerticalIndent = 5;
  434. this.xrChart_incaSubdivision.Legend.Border.Color = Color.Red;//红色边框
  435. }
  436. /// <summary>
  437. /// 三元图
  438. /// </summary>
  439. /// <param name="TemplateClass"></param>
  440. public void InsertReportTemplateChart_Trianglediagram()
  441. {
  442. List<Color> Color_list = new List<Color>();
  443. Color_list.Add(Color.FromArgb(238, 175, 14));
  444. Color_list.Add(Color.FromArgb(0, 0, 238));
  445. Color_list.Add(Color.FromArgb(0, 205, 0));
  446. Color_list.Add(Color.FromArgb(238, 0, 0));
  447. Color_list.Add(Color.FromArgb(153, 50, 204));
  448. Color_list.Add(Color.FromArgb(255, 102, 153));
  449. Color_list.Add(Color.FromArgb(160, 82, 45));
  450. Color_list.Add(Color.FromArgb(181, 181, 181));
  451. Color_list.Add(Color.FromArgb(250, 235, 215));
  452. Color_list.Add(Color.FromArgb(238, 130, 238));
  453. Color_list.Add(Color.FromArgb(174, 238, 238));
  454. Color_list.Add(Color.FromArgb(247, 172, 189));
  455. Color_list.Add(Color.FromArgb(202, 134, 135));
  456. Color_list.Add(Color.FromArgb(34, 90, 31));
  457. Color_list.Add(Color.FromArgb(238, 175, 14));
  458. Color_list.Add(Color.FromArgb(0, 0, 238));
  459. Color_list.Add(Color.FromArgb(0, 205, 0));
  460. Color_list.Add(Color.FromArgb(238, 0, 0));
  461. Color_list.Add(Color.FromArgb(153, 50, 204));
  462. Color_list.Add(Color.FromArgb(255, 102, 153));
  463. Color_list.Add(Color.FromArgb(160, 82, 45));
  464. Color_list.Add(Color.FromArgb(181, 181, 181));
  465. Color_list.Add(Color.FromArgb(250, 235, 215));
  466. Color_list.Add(Color.FromArgb(238, 130, 238));
  467. Color_list.Add(Color.FromArgb(174, 238, 238));
  468. Color_list.Add(Color.FromArgb(247, 172, 189));
  469. Color_list.Add(Color.FromArgb(202, 134, 135));
  470. Color_list.Add(Color.FromArgb(34, 90, 31));
  471. //for (int i = 0; i < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count; i++)
  472. //{
  473. // set_syt_pic_legend(Color_list);
  474. // set_syt_pic( TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i], Color_list);
  475. // XRPageBreak xRPage = new XRPageBreak();
  476. // xRPage.LocationF = new PointF(0, LowPlace + 2);
  477. // this.Detail.Controls.Add(xRPage);
  478. //}
  479. for (int i = 0; i < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count; i=i+4)
  480. {
  481. set_syt_pic_legend(Color_list);
  482. if (i< TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count)
  483. {
  484. set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i], Color_list, new PointF(10f, NeueStartposition + 2));
  485. }
  486. if (i+1 < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count)
  487. {
  488. set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i+1], Color_list, new PointF(343.8f, NeueStartposition + 2));
  489. }
  490. if (i+2 < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count)
  491. {
  492. set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i+2], Color_list, new PointF(10f, NeueStartposition + 345+5));
  493. }
  494. if (i + 3 < TemplateClass.M_SYXT.list_lbv_syxt_mblb_index.Count)
  495. {
  496. set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i+3], Color_list, new PointF(343.8f, NeueStartposition + 345+5));
  497. }
  498. //set_syt_pic(TemplateClass, TemplateClass.M_SYXT.list_lbv_syxt_mblb_index[i], Color_list);
  499. XRLine rLine = new XRLine();
  500. rLine.SizeF = new SizeF(5f, 698.5f);
  501. rLine.LineDirection = LineDirection.Vertical;
  502. rLine.LocationF = new PointF(335f, NeueStartposition+2);
  503. this.Detail.Controls.Add(rLine);
  504. XRLine rLine_level = new XRLine();
  505. rLine_level.SizeF = new SizeF(668f, 5f);
  506. rLine_level.LineDirection = LineDirection.Horizontal;
  507. rLine_level.LocationF = new PointF(10f, NeueStartposition + 345);
  508. this.Detail.Controls.Add(rLine_level);
  509. XRPageBreak xRPage = new XRPageBreak();
  510. xRPage.LocationF = new PointF(0, NeueStartposition + 850);
  511. NeueStartposition = NeueStartposition + 870;
  512. this.Detail.Controls.Add(xRPage);
  513. }
  514. }
  515. /// <summary>
  516. /// 颗粒列表
  517. /// </summary>
  518. /// <param name="TemplateClass"></param>
  519. public void set_kllb_data()
  520. {
  521. XRPageBreak xRPage = new XRPageBreak();
  522. xRPage.Name = "kllb_Page";
  523. xRPage.LocationF = new PointF(0, NeueStartposition + 2);
  524. this.Detail.Controls.Add(xRPage);
  525. xrTable_kllb_surface.LocationF = new PointF(0, NeueStartposition + 5);
  526. xrTable_kllb_surface.Visible = true;
  527. NeueStartposition = xrTable_kllb_surface.LocationF.Y + xrTable_kllb_surface.SizeF.Height;
  528. // Export_ReportTemplate export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export);
  529. DataTable dataTable = export_ReportTemplate.Get_dev_kllb_data(TemplateClass);
  530. for (int i=0;i<dataTable.Rows.Count;i++)
  531. {
  532. dataTable.Rows[i]["Class"] = subscript.Getsubscriptstring(dataTable.Rows[i]["Class"].ToString());
  533. }
  534. for (int i = 0; i < dataTable.Rows.Count; i++)
  535. {
  536. XRTable table = add_XRTable();
  537. add_kllb(TemplateClass, dataTable, i, table);
  538. }
  539. NeueStartposition = NeueStartposition + 10;
  540. }
  541. /// <summary>
  542. /// 颗粒列表 帧图
  543. /// </summary>
  544. /// <param name="TemplateClass"></param>
  545. public void set_kllb_data_frame()
  546. {
  547. // Export_ReportTemplate export_ReportTemplate = new Export_ReportTemplate(m_otsreport_export);
  548. export_ReportTemplate.Get_dev_kllb_data_frame(TemplateClass, out DataTable dt_pic, out List<DataTable> listData);
  549. for (int i=0;i< listData.Count;i++)
  550. {
  551. for (int a=0;a< listData[i].Rows.Count;a++)
  552. {
  553. listData[i].Rows[a]["Class"] = subscript.Getsubscriptstring(listData[i].Rows[a]["Class"].ToString());
  554. }
  555. }
  556. for (int i = 0; i < dt_pic.Rows.Count; i++)
  557. {
  558. //分页符
  559. XRPageBreak xRPage = new XRPageBreak();
  560. xRPage.Name = "framePage_" + i.ToString();
  561. xRPage.LocationF = new PointF(0, NeueStartposition);
  562. NeueStartposition = NeueStartposition + 10;
  563. this.Detail.Controls.Add(xRPage);
  564. //表头
  565. XRTable Template = new XRTable();
  566. XRTableRow Template_Rows_1 = new XRTableRow();
  567. XRTableRow Template_Rows_2 = new XRTableRow();
  568. XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
  569. XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
  570. Template_Rows1_Cell_1.WidthF = 688f;
  571. Template_Rows2_Cell_1.WidthF = 688f;
  572. Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
  573. Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
  574. Template.Rows.Add(Template_Rows_1);
  575. Template.Rows.Add(Template_Rows_2);
  576. Template.SizeF = new SizeF(688f, 25f);
  577. Template.Rows[0].Cells[0].Text = "帧图 " + dt_pic.Rows[i]["id"];
  578. Template.LocationF = new PointF(0, NeueStartposition);
  579. Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
  580. Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleLeft;
  581. Template.Rows[0].Font = new Font(Schriftart_chinese, 14f, FontStyle.Bold);
  582. Template.Rows[0].BackColor = Color.DarkGray;
  583. this.Detail.Controls.Add(Template);
  584. //图片
  585. XRPictureBox xRPicture = new XRPictureBox();
  586. xRPicture.Name = "frameName_" + i.ToString();
  587. xRPicture.SizeF = new SizeF(688f, 485f);
  588. xRPicture.ImageAlignment = DevExpress.XtraPrinting.ImageAlignment.MiddleCenter;
  589. xRPicture.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze;
  590. ImageSource imageSource = new ImageSource((Bitmap)dt_pic.Rows[i]["Field_pic"]);
  591. xRPicture.ImageSource = imageSource;
  592. xRPicture.LocationF = new PointF(0, NeueStartposition + Template.SizeF.Height);
  593. xRPicture.Borders = DevExpress.XtraPrinting.BorderSide.All;
  594. this.Detail.Controls.Add(xRPicture);
  595. NeueStartposition = NeueStartposition + xRPicture.SizeF.Height + Template.SizeF.Height;
  596. for (int a = 0; a < listData.Count; a++)
  597. {
  598. if (dt_pic.Rows[i]["id"].ToString() == listData[a].Rows[0]["FieldId"].ToString())
  599. {
  600. for (int b = 0; b < listData[a].Rows.Count; b++)
  601. {
  602. //数据表
  603. XRTable xRTable = add_XRTable_frame();
  604. xRTable.Rows[0].Cells[0].Text = "图像";
  605. xRTable.Rows[0].Cells[1].Text = "分类";
  606. xRTable.Rows[0].Cells[2].Text = TemplateClass.M_KLLBXX.str_cb_kllb_chartSort_p1.ToString();
  607. xRTable.Rows[0].Cells[3].Text = TemplateClass.M_KLLBXX.str_cb_kllb_chartSort_p2.ToString();
  608. XRPictureBox xRPicture1 = new XRPictureBox();
  609. xRPicture1.ImageSource = new ImageSource((Bitmap)listData[a].Rows[b]["pic"]);
  610. xRPicture1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze;
  611. xRPicture1.SizeF = new SizeF(94, 35);
  612. //xRPicture1.BackColor = Color.DarkGray;
  613. xRTable.Rows[1].Cells[0].Controls.Add(xRPicture1);
  614. xRTable.Rows[1].Cells[1].Text = listData[a].Rows[b]["Class"].ToString();
  615. xRTable.Rows[1].Cells[2].Text = listData[a].Rows[b]["pid"].ToString();
  616. xRTable.Rows[1].Cells[3].Text = listData[a].Rows[b]["Size"].ToString();
  617. for (int c = 0; c < 10; c++)
  618. {
  619. xRTable.Rows[2].Cells[c].Text = listData[a].Rows[b]["ColName" + (c + 1).ToString()].ToString();
  620. xRTable.Rows[3].Cells[c].Text = listData[a].Rows[b]["ColVal" + (c + 1).ToString()].ToString();
  621. }
  622. xRTable.LocationF = new PointF(0, NeueStartposition + 5);
  623. this.Detail.Controls.Add(xRTable);
  624. NeueStartposition = NeueStartposition + xRTable.SizeF.Height + 5 + 2;
  625. }
  626. }
  627. }
  628. }
  629. }
  630. #endregion
  631. private void setTableCellData(XRTableCell cell, string str)
  632. {
  633. cell.Text = str;
  634. cell.Font = new Font(Schriftart_chinese, cell.Font.Size);
  635. }
  636. private void setXRLabelData(XRLabel cell, string str)
  637. {
  638. cell.Text = str;
  639. cell.Font = new Font(Schriftart_chinese, cell.Font.Size);
  640. }
  641. /// <summary>
  642. /// 读取报告控件中英文
  643. /// </summary>
  644. /// <param name="strName"></param>
  645. /// <param name="languageData"></param>
  646. /// <returns></returns>
  647. private string GetlanguageData(string strName, DataTable languageData)
  648. {
  649. for (int i = 0; i < languageData.Rows.Count; i++)
  650. {
  651. if (strName == languageData.Rows[i]["Name"].ToString())
  652. {
  653. return languageData.Rows[i]["Text"].ToString();
  654. }
  655. }
  656. return "";
  657. }
  658. #region 整理成DEV需要的数据格式
  659. private void XRTableCellData(XRTableRow xR, XRTableCell rTableCell, string typeface, DevExpress.XtraPrinting.TextAlignment textAlignment, string cellText, List<ParticleSizeDEVData> switchDEVDatas, string cellName)
  660. {
  661. rTableCell.TextAlignment = textAlignment;
  662. rTableCell.Font = new Font(typeface, rTableCell.Font.Size);
  663. xR.Cells.Add(rTableCell);
  664. rTableCell.DataBindings.Add(cellText, switchDEVDatas, cellName);
  665. }
  666. private void XRTableCellData_ElementAnalysis(XRTableRow xR, XRTableCell rTableCell, string typeface, DevExpress.XtraPrinting.TextAlignment textAlignment, string cellText, List<ElementalAnalysisDEVData> switchDEVDatas, string cellName)
  667. {
  668. rTableCell.TextAlignment = textAlignment;
  669. rTableCell.Font = new Font(typeface, rTableCell.Font.Size);
  670. xR.Cells.Add(rTableCell);
  671. rTableCell.DataBindings.Add(cellText, switchDEVDatas, cellName);
  672. }
  673. private void XRTableCellData_AreaOfInclusion(XRTableRow xR, XRTableCell rTableCell, string typeface, DevExpress.XtraPrinting.TextAlignment textAlignment, string cellText, List<AreaOfInclusionDEVData> switchDEVDatas, string cellName)
  674. {
  675. rTableCell.TextAlignment = textAlignment;
  676. rTableCell.Font = new Font(typeface, rTableCell.Font.Size);
  677. xR.Cells.Add(rTableCell);
  678. rTableCell.DataBindings.Add(cellText, switchDEVDatas, cellName);
  679. }
  680. /// <summary>
  681. /// 颗粒尺寸表向list中插入数据
  682. /// </summary>
  683. /// <param name="Class"></param>
  684. /// <param name="Name"></param>
  685. /// <param name="total"></param>
  686. /// <param name="size_1"></param>
  687. /// <param name="size_2"></param>
  688. /// <param name="size_3"></param>
  689. /// <param name="size_4"></param>
  690. /// <param name="size_5"></param>
  691. /// <param name="size_6"></param>
  692. /// <param name="size_7"></param>
  693. /// <returns></returns>
  694. private List<ParticleSizeDEVData> 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)
  695. {
  696. List<ParticleSizeDEVData> oTS_DEVs = new List<ParticleSizeDEVData>();
  697. oTS_DEVs.Add(new ParticleSizeDEVData
  698. {
  699. size_total = total,
  700. size_Class = Class,
  701. size_Name = Name,
  702. size_1 = size_1,
  703. size_2 = size_2,
  704. size_3 = size_3,
  705. size_4 = size_4,
  706. size_5 = size_5,
  707. size_6 = size_6,
  708. size_7 = size_7
  709. });
  710. return oTS_DEVs;
  711. }
  712. /// <summary>
  713. /// 元素分析表向list中插入数据
  714. /// </summary>
  715. /// <param name="classify"></param>
  716. /// <param name="subdivision"></param>
  717. /// <param name="area"></param>
  718. /// <param name="s1"></param>
  719. /// <param name="s2"></param>
  720. /// <param name="s3"></param>
  721. /// <param name="s4"></param>
  722. /// <param name="s5"></param>
  723. /// <param name="s6"></param>
  724. /// <param name="s7"></param>
  725. /// <param name="s8"></param>
  726. /// <param name="s9"></param>
  727. /// <param name="s10"></param>
  728. /// <returns></returns>
  729. private List<ElementalAnalysisDEVData> 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)
  730. {
  731. List<ElementalAnalysisDEVData> oTS_DEVs = new List<ElementalAnalysisDEVData>();
  732. oTS_DEVs.Add(new ElementalAnalysisDEVData
  733. {
  734. classify = classify,
  735. subdivision = subdivision,
  736. Area = area,
  737. s1 = s1,
  738. s2 = s2,
  739. s3 = s3,
  740. s4 = s4,
  741. s5 = s5,
  742. s6 = s6,
  743. s7 = s7,
  744. s8 = s8,
  745. s9 = s9,
  746. s10 = s10
  747. });
  748. return oTS_DEVs;
  749. }
  750. /// <summary>
  751. /// 夹杂物分析表(清洁度不需要)
  752. /// </summary>
  753. /// <param name="classify"></param>
  754. /// <param name="subdivision"></param>
  755. /// <param name="Area"></param>
  756. /// <param name="inca_proportion"></param>
  757. /// <param name="inca_FieldRatio"></param>
  758. /// <returns></returns>
  759. private List<AreaOfInclusionDEVData> set_AreaOfInclusion(string classify, string subdivision, string Area, string inca_proportion, string inca_FieldRatio)
  760. {
  761. List<AreaOfInclusionDEVData> oTS_DEVs = new List<AreaOfInclusionDEVData>();
  762. oTS_DEVs.Add(new AreaOfInclusionDEVData
  763. {
  764. classify = classify,
  765. subdivision = subdivision,
  766. Area = Area,
  767. inca_proportion = inca_proportion,
  768. inca_FieldRatio = inca_FieldRatio
  769. });
  770. return oTS_DEVs;
  771. }
  772. #endregion
  773. #region 三元相图数据
  774. /// <summary>
  775. /// 动态生成加载三元图图片加分页符
  776. /// </summary>
  777. /// <param name="syt_pic_name"></param>
  778. /// <param name="syt_Page_name"></param>
  779. /// <param name="TemplateClass"></param>
  780. /// <param name="index"></param>
  781. private void set_syt_pic(c_TemplateClass TemplateClass, int index, List<Color> Color_list)
  782. {
  783. XRPictureBox xRPicture = new XRPictureBox();
  784. xRPicture.LocationF = new PointF(10f, NeueStartposition);
  785. xRPicture.SizeF = syx_Size;
  786. ImageSource imageSource = new ImageSource(export_ReportTemplate.DrawATernaryPicture(index, TemplateClass,Color_list));
  787. xRPicture.ImageSource = imageSource;
  788. xRPicture.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
  789. xRPicture.Visible = true;
  790. this.Detail.Controls.Add(xRPicture);
  791. NeueStartposition = syx_Size.Height + NeueStartposition + 10;
  792. }
  793. private void set_syt_pic(c_TemplateClass TemplateClass, int index, List<Color> Color_list, PointF position)
  794. {
  795. XRPictureBox xRPicture = new XRPictureBox();
  796. xRPicture.LocationF = position;
  797. xRPicture.SizeF = new SizeF(321f, 330.2f);
  798. ImageSource imageSource = new ImageSource(export_ReportTemplate.DrawATernaryPicture(index, TemplateClass, Color_list));
  799. xRPicture.ImageSource = imageSource;
  800. xRPicture.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
  801. xRPicture.Visible = true;
  802. this.Detail.Controls.Add(xRPicture);
  803. //LowPlace = syx_Size.Height + LowPlace ;
  804. }
  805. private void set_syt_pic_legend(List<Color> Color_list)
  806. {
  807. XRPictureBox xRPicture_legend = new XRPictureBox();
  808. xRPicture_legend.LocationF = new PointF(95f, NeueStartposition);
  809. xRPicture_legend.SizeF = new SizeF(504f, 120.85f);
  810. xRPicture_legend.Sizing = DevExpress.XtraPrinting.ImageSizeMode.ZoomImage;
  811. ImageSource imageSource_legend = new ImageSource(export_ReportTemplate.DrawATernaryDiagramLegend(Color_list));
  812. xRPicture_legend.ImageSource = imageSource_legend;
  813. NeueStartposition = NeueStartposition + xRPicture_legend.SizeF.Height;
  814. this.Detail.Controls.Add(xRPicture_legend);
  815. }
  816. #endregion
  817. #region 颗粒列表
  818. private XRTable add_XRTable()
  819. {
  820. XRTable Template = new XRTable();
  821. XRTableRow Template_Rows_1 = new XRTableRow();
  822. XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
  823. XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
  824. XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
  825. XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
  826. XRTableCell Template_Rows1_Cell_5 = new XRTableCell();
  827. XRTableCell Template_Rows1_Cell_6 = new XRTableCell();
  828. XRTableRow Template_Rows_2 = new XRTableRow();
  829. XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
  830. XRTableCell Template_Rows2_Cell_2 = new XRTableCell();
  831. XRTableCell Template_Rows2_Cell_3 = new XRTableCell();
  832. XRTableCell Template_Rows2_Cell_4 = new XRTableCell();
  833. XRTableCell Template_Rows2_Cell_5 = new XRTableCell();
  834. XRTableCell Template_Rows2_Cell_6 = new XRTableCell();
  835. XRTableRow Template_Rows_3 = new XRTableRow();
  836. XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
  837. XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
  838. XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
  839. XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
  840. XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
  841. XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
  842. XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
  843. XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
  844. XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
  845. XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
  846. XRTableCell Template_Rows3_Cell_11 = new XRTableCell();
  847. XRTableRow Template_Rows_4 = new XRTableRow();
  848. XRTableCell Template_Rows4_Cell_1 = new XRTableCell();
  849. XRTableCell Template_Rows4_Cell_2 = new XRTableCell();
  850. XRTableCell Template_Rows4_Cell_3 = new XRTableCell();
  851. XRTableCell Template_Rows4_Cell_4 = new XRTableCell();
  852. XRTableCell Template_Rows4_Cell_5 = new XRTableCell();
  853. XRTableCell Template_Rows4_Cell_6 = new XRTableCell();
  854. XRTableCell Template_Rows4_Cell_7 = new XRTableCell();
  855. XRTableCell Template_Rows4_Cell_8 = new XRTableCell();
  856. XRTableCell Template_Rows4_Cell_9 = new XRTableCell();
  857. XRTableCell Template_Rows4_Cell_10 = new XRTableCell();
  858. XRTableCell Template_Rows4_Cell_11 = new XRTableCell();
  859. XRTableRow Template_Rows_5 = new XRTableRow();
  860. XRTableCell Template_Rows5_Cell_1 = new XRTableCell();
  861. Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
  862. Template_Rows1_Cell_1.WidthF = 115.67f;
  863. Template_Rows1_Cell_2.WidthF = 53f;
  864. Template_Rows1_Cell_3.WidthF = 211.79f;
  865. Template_Rows1_Cell_4.WidthF = 102.51f;
  866. Template_Rows1_Cell_5.WidthF = 102.51f;
  867. Template_Rows1_Cell_6.WidthF = 102.51f;
  868. Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
  869. Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
  870. Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
  871. Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
  872. Template_Rows_1.Controls.Add(Template_Rows1_Cell_5);
  873. Template_Rows_1.Controls.Add(Template_Rows1_Cell_6);
  874. Template_Rows2_Cell_1.WidthF = 115.67f;
  875. Template_Rows2_Cell_2.WidthF = 53f;
  876. Template_Rows2_Cell_3.WidthF = 211.79f;
  877. Template_Rows2_Cell_4.WidthF = 102.51f;
  878. Template_Rows2_Cell_5.WidthF = 102.51f;
  879. Template_Rows2_Cell_6.WidthF = 102.51f;
  880. Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
  881. Template_Rows_2.Controls.Add(Template_Rows2_Cell_2);
  882. Template_Rows_2.Controls.Add(Template_Rows2_Cell_3);
  883. Template_Rows_2.Controls.Add(Template_Rows2_Cell_4);
  884. Template_Rows_2.Controls.Add(Template_Rows2_Cell_5);
  885. Template_Rows_2.Controls.Add(Template_Rows2_Cell_6);
  886. Template_Rows3_Cell_1.WidthF = 115.67f;
  887. Template_Rows3_Cell_2.WidthF = 57.23f;//63.59f
  888. Template_Rows3_Cell_3.WidthF = 57.23f;
  889. Template_Rows3_Cell_4.WidthF = 57.23f;
  890. Template_Rows3_Cell_5.WidthF = 57.23f;
  891. Template_Rows3_Cell_6.WidthF = 57.23f;
  892. Template_Rows3_Cell_7.WidthF = 57.23f;
  893. Template_Rows3_Cell_8.WidthF = 57.23f;
  894. Template_Rows3_Cell_9.WidthF = 57.23f;
  895. Template_Rows3_Cell_10.WidthF = 57.23f;
  896. Template_Rows3_Cell_11.WidthF = 57.23f;
  897. Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
  898. Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
  899. Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
  900. Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
  901. Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
  902. Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
  903. Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
  904. Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
  905. Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
  906. Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
  907. Template_Rows_3.Controls.Add(Template_Rows3_Cell_11);
  908. Template_Rows4_Cell_1.WidthF = 115.67f;
  909. Template_Rows4_Cell_2.WidthF = 57.23f;//63.59f
  910. Template_Rows4_Cell_3.WidthF = 57.23f;
  911. Template_Rows4_Cell_4.WidthF = 57.23f;
  912. Template_Rows4_Cell_5.WidthF = 57.23f;
  913. Template_Rows4_Cell_6.WidthF = 57.23f;
  914. Template_Rows4_Cell_7.WidthF = 57.23f;
  915. Template_Rows4_Cell_8.WidthF = 57.23f;
  916. Template_Rows4_Cell_9.WidthF = 57.23f;
  917. Template_Rows4_Cell_10.WidthF = 57.23f;
  918. Template_Rows4_Cell_11.WidthF = 57.23f;
  919. Template_Rows_4.Controls.Add(Template_Rows4_Cell_1);
  920. Template_Rows_4.Controls.Add(Template_Rows4_Cell_2);
  921. Template_Rows_4.Controls.Add(Template_Rows4_Cell_3);
  922. Template_Rows_4.Controls.Add(Template_Rows4_Cell_4);
  923. Template_Rows_4.Controls.Add(Template_Rows4_Cell_5);
  924. Template_Rows_4.Controls.Add(Template_Rows4_Cell_6);
  925. Template_Rows_4.Controls.Add(Template_Rows4_Cell_7);
  926. Template_Rows_4.Controls.Add(Template_Rows4_Cell_8);
  927. Template_Rows_4.Controls.Add(Template_Rows4_Cell_9);
  928. Template_Rows_4.Controls.Add(Template_Rows4_Cell_10);
  929. Template_Rows_4.Controls.Add(Template_Rows4_Cell_11);
  930. Template_Rows_5.Controls.Add(Template_Rows5_Cell_1);
  931. Template.Rows.Add(Template_Rows_1);
  932. Template.Rows.Add(Template_Rows_2);
  933. Template.Rows.Add(Template_Rows_3);
  934. Template.Rows.Add(Template_Rows_4);
  935. Template.Rows.Add(Template_Rows_5);
  936. Template.SizeF = new SizeF(688f, 125);
  937. Template.Rows[0].Font = new Font(Schriftart_english, 14f, FontStyle.Bold);
  938. Template.Rows[2].Font = new Font(Schriftart_english, 14f, FontStyle.Bold);
  939. Template.Rows[1].Font = new Font(Schriftart_english, 14f);
  940. Template.Rows[3].Font = new Font(Schriftart_english, 14f);
  941. Template.Rows[0].BackColor = Color.DarkGray;
  942. Template.Rows[2].BackColor = Color.DarkGray;
  943. Template.Rows[0].Cells[0].BackColor = Color.Transparent;
  944. Template.Rows[2].Cells[0].BackColor = Color.Transparent;
  945. Template.Rows[2].BackColor = Color.DarkGray;
  946. Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
  947. Template.Rows[0].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Top;
  948. Template.Rows[1].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left;
  949. Template.Rows[2].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left;
  950. Template.Rows[3].Cells[0].Borders = DevExpress.XtraPrinting.BorderSide.Left | DevExpress.XtraPrinting.BorderSide.Bottom;
  951. return Template;
  952. }
  953. private void add_kllb(c_TemplateClass TemplateClass, DataTable dataTable, int position, XRTable xRTable)
  954. {
  955. XRTable table = new XRTable();
  956. table = xRTable;
  957. table.Name = "table_kllb_" + position.ToString();
  958. table.Rows[0].Cells[1].Text = "ID";
  959. table.Rows[0].Cells[2].Text = "Class";
  960. table.Rows[0].Cells[3].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p1.ToString();
  961. table.Rows[0].Cells[4].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p2.ToString();
  962. table.Rows[0].Cells[5].Text = TemplateClass.M_KLLBXX.str_cb_kllb_sort_p3.ToString();
  963. table.Rows[1].Cells[1].Text = dataTable.Rows[position]["pid"].ToString();
  964. table.Rows[1].Cells[2].Text = dataTable.Rows[position]["Class"].ToString();
  965. table.Rows[1].Cells[3].Text = dataTable.Rows[position]["Size"].ToString();
  966. table.Rows[1].Cells[4].Text = dataTable.Rows[position]["DMAX"].ToString();
  967. table.Rows[1].Cells[5].Text = dataTable.Rows[position]["DMIN"].ToString();
  968. for (int i = 1; i < 11; i++)
  969. {
  970. table.Rows[2].Cells[i].Text = dataTable.Rows[position]["ColName" + i.ToString()].ToString();
  971. string str_ColVal = "";
  972. if (dataTable.Rows[position]["ColVal" + i.ToString()].ToString() == "0")
  973. {
  974. str_ColVal = "";
  975. }
  976. else
  977. {
  978. str_ColVal = dataTable.Rows[position]["ColVal" + i.ToString()].ToString();
  979. }
  980. table.Rows[3].Cells[i].Text = str_ColVal;
  981. }
  982. //XRPictureBox xRPicture1 = new XRPictureBox();
  983. //xRPicture1.ImageSource = new ImageSource((Bitmap)dataTable.Rows[position]["p1"]);
  984. //xRPicture1.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze;
  985. //xRPicture1.BackColor = Color.DarkGray;
  986. //xRPicture1.SizeF=new SizeF(107f,122f);
  987. //table.Rows[4].Cells[0].Controls.Add(xRPicture1);
  988. table.Rows[4].Cells[0].BackColor = Color.DarkGray;
  989. table.Rows[4].Cells[0].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
  990. XRPictureBox xRPicture2 = new XRPictureBox();
  991. xRPicture2.ImageSource = new ImageSource((Bitmap)dataTable.Rows[position]["p3"]);
  992. xRPicture2.Sizing = DevExpress.XtraPrinting.ImageSizeMode.AutoSize;
  993. table.Rows[4].Cells[0].Controls.Add(xRPicture2);
  994. table.Visible = true;
  995. table.LocationF = new PointF(0, NeueStartposition);
  996. table.SendToBack();
  997. //table.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
  998. this.Detail.Controls.Add(table);
  999. XRPictureBox xRPicture_pic = new XRPictureBox();
  1000. xRPicture_pic.Name = "Picture_kllb_" + position.ToString();
  1001. xRPicture_pic.ImageSource = new ImageSource((Image)dataTable.Rows[position]["p1"]);
  1002. xRPicture_pic.LocationF = new PointF(1, NeueStartposition);
  1003. xRPicture_pic.Visible = true;
  1004. xRPicture_pic.BackColor = Color.DarkGray;
  1005. xRPicture_pic.Sizing = DevExpress.XtraPrinting.ImageSizeMode.Squeeze;
  1006. xRPicture_pic.SizeF = new SizeF(115f, 96.88f);
  1007. xRPicture_pic.BringToFront();
  1008. this.Detail.Controls.Add(xRPicture_pic);
  1009. NeueStartposition = table.SizeF.Height + NeueStartposition+5;
  1010. }
  1011. #endregion
  1012. #region 颗粒列表帧图
  1013. private XRTable add_XRTable_frame()
  1014. {
  1015. XRTable Template = new XRTable();
  1016. XRTableRow Template_Rows_1 = new XRTableRow();
  1017. XRTableRow Template_Rows_2 = new XRTableRow();
  1018. XRTableRow Template_Rows_3 = new XRTableRow();
  1019. XRTableRow Template_Rows_4 = new XRTableRow();
  1020. XRTableCell Template_Rows1_Cell_1 = new XRTableCell();
  1021. XRTableCell Template_Rows1_Cell_2 = new XRTableCell();
  1022. XRTableCell Template_Rows1_Cell_3 = new XRTableCell();
  1023. XRTableCell Template_Rows1_Cell_4 = new XRTableCell();
  1024. XRTableCell Template_Rows2_Cell_1 = new XRTableCell();
  1025. XRTableCell Template_Rows2_Cell_2 = new XRTableCell();
  1026. XRTableCell Template_Rows2_Cell_3 = new XRTableCell();
  1027. XRTableCell Template_Rows2_Cell_4 = new XRTableCell();
  1028. XRTableCell Template_Rows3_Cell_1 = new XRTableCell();
  1029. XRTableCell Template_Rows3_Cell_2 = new XRTableCell();
  1030. XRTableCell Template_Rows3_Cell_3 = new XRTableCell();
  1031. XRTableCell Template_Rows3_Cell_4 = new XRTableCell();
  1032. XRTableCell Template_Rows3_Cell_5 = new XRTableCell();
  1033. XRTableCell Template_Rows3_Cell_6 = new XRTableCell();
  1034. XRTableCell Template_Rows3_Cell_7 = new XRTableCell();
  1035. XRTableCell Template_Rows3_Cell_8 = new XRTableCell();
  1036. XRTableCell Template_Rows3_Cell_9 = new XRTableCell();
  1037. XRTableCell Template_Rows3_Cell_10 = new XRTableCell();
  1038. XRTableCell Template_Rows4_Cell_1 = new XRTableCell();
  1039. XRTableCell Template_Rows4_Cell_2 = new XRTableCell();
  1040. XRTableCell Template_Rows4_Cell_3 = new XRTableCell();
  1041. XRTableCell Template_Rows4_Cell_4 = new XRTableCell();
  1042. XRTableCell Template_Rows4_Cell_5 = new XRTableCell();
  1043. XRTableCell Template_Rows4_Cell_6 = new XRTableCell();
  1044. XRTableCell Template_Rows4_Cell_7 = new XRTableCell();
  1045. XRTableCell Template_Rows4_Cell_8 = new XRTableCell();
  1046. XRTableCell Template_Rows4_Cell_9 = new XRTableCell();
  1047. XRTableCell Template_Rows4_Cell_10 = new XRTableCell();
  1048. Template.TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
  1049. Template_Rows1_Cell_1.WidthF = 94.63f;
  1050. Template_Rows1_Cell_2.WidthF = 290f;
  1051. Template_Rows1_Cell_3.WidthF = 155.73f;
  1052. Template_Rows1_Cell_4.WidthF = 155.73f;
  1053. Template_Rows_1.Controls.Add(Template_Rows1_Cell_1);
  1054. Template_Rows_1.Controls.Add(Template_Rows1_Cell_2);
  1055. Template_Rows_1.Controls.Add(Template_Rows1_Cell_3);
  1056. Template_Rows_1.Controls.Add(Template_Rows1_Cell_4);
  1057. Template_Rows2_Cell_1.WidthF = 94.63f;
  1058. Template_Rows2_Cell_2.WidthF = 290f;
  1059. Template_Rows2_Cell_3.WidthF = 155.73f;
  1060. Template_Rows2_Cell_4.WidthF = 155.73f;
  1061. Template_Rows_2.Controls.Add(Template_Rows2_Cell_1);
  1062. Template_Rows_2.Controls.Add(Template_Rows2_Cell_2);
  1063. Template_Rows_2.Controls.Add(Template_Rows2_Cell_3);
  1064. Template_Rows_2.Controls.Add(Template_Rows2_Cell_4);
  1065. Template_Rows3_Cell_1.WidthF = 68.8f;
  1066. Template_Rows3_Cell_2.WidthF = 68.8f;
  1067. Template_Rows3_Cell_3.WidthF = 68.8f;
  1068. Template_Rows3_Cell_4.WidthF = 68.8f;
  1069. Template_Rows3_Cell_5.WidthF = 68.8f;
  1070. Template_Rows3_Cell_6.WidthF = 68.8f;
  1071. Template_Rows3_Cell_7.WidthF = 68.8f;
  1072. Template_Rows3_Cell_8.WidthF = 68.8f;
  1073. Template_Rows3_Cell_9.WidthF = 68.8f;
  1074. Template_Rows3_Cell_10.WidthF = 68.8f;
  1075. Template_Rows_3.Controls.Add(Template_Rows3_Cell_1);
  1076. Template_Rows_3.Controls.Add(Template_Rows3_Cell_2);
  1077. Template_Rows_3.Controls.Add(Template_Rows3_Cell_3);
  1078. Template_Rows_3.Controls.Add(Template_Rows3_Cell_4);
  1079. Template_Rows_3.Controls.Add(Template_Rows3_Cell_5);
  1080. Template_Rows_3.Controls.Add(Template_Rows3_Cell_6);
  1081. Template_Rows_3.Controls.Add(Template_Rows3_Cell_7);
  1082. Template_Rows_3.Controls.Add(Template_Rows3_Cell_8);
  1083. Template_Rows_3.Controls.Add(Template_Rows3_Cell_9);
  1084. Template_Rows_3.Controls.Add(Template_Rows3_Cell_10);
  1085. Template_Rows4_Cell_1.WidthF = 68.8f;
  1086. Template_Rows4_Cell_2.WidthF = 68.8f;
  1087. Template_Rows4_Cell_3.WidthF = 68.8f;
  1088. Template_Rows4_Cell_4.WidthF = 68.8f;
  1089. Template_Rows4_Cell_5.WidthF = 68.8f;
  1090. Template_Rows4_Cell_6.WidthF = 68.8f;
  1091. Template_Rows4_Cell_7.WidthF = 68.8f;
  1092. Template_Rows4_Cell_8.WidthF = 68.8f;
  1093. Template_Rows4_Cell_9.WidthF = 68.8f;
  1094. Template_Rows4_Cell_10.WidthF = 68.8f;
  1095. Template_Rows_4.Controls.Add(Template_Rows4_Cell_1);
  1096. Template_Rows_4.Controls.Add(Template_Rows4_Cell_2);
  1097. Template_Rows_4.Controls.Add(Template_Rows4_Cell_3);
  1098. Template_Rows_4.Controls.Add(Template_Rows4_Cell_4);
  1099. Template_Rows_4.Controls.Add(Template_Rows4_Cell_5);
  1100. Template_Rows_4.Controls.Add(Template_Rows4_Cell_6);
  1101. Template_Rows_4.Controls.Add(Template_Rows4_Cell_7);
  1102. Template_Rows_4.Controls.Add(Template_Rows4_Cell_8);
  1103. Template_Rows_4.Controls.Add(Template_Rows4_Cell_9);
  1104. Template_Rows_4.Controls.Add(Template_Rows4_Cell_10);
  1105. Template.Rows.Add(Template_Rows_1);
  1106. Template.Rows.Add(Template_Rows_2);
  1107. Template.Rows.Add(Template_Rows_3);
  1108. Template.Rows.Add(Template_Rows_4);
  1109. Template.Rows[0].BackColor = Color.DarkGray;
  1110. Template.Rows[2].BackColor = Color.DarkGray;
  1111. Template.Borders = DevExpress.XtraPrinting.BorderSide.All;
  1112. Template.SizeF = new SizeF(688f, 30);
  1113. Template.Font= new Font(Schriftart_english, 14f);
  1114. return Template;
  1115. }
  1116. #endregion
  1117. }
  1118. public class ParticleSizeDEVData
  1119. {
  1120. public string size_Class { get; set; }
  1121. public string size_Name { get; set; }
  1122. public string size_total { get; set; }
  1123. public string size_1 { get; set; }
  1124. public string size_2 { get; set; }
  1125. public string size_3 { get; set; }
  1126. public string size_4 { get; set; }
  1127. public string size_5 { get; set; }
  1128. public string size_6 { get; set; }
  1129. public string size_7 { get; set; }
  1130. }
  1131. public class ElementalAnalysisDEVData
  1132. {
  1133. public string classify { get; set; }
  1134. public string subdivision { get; set; }
  1135. public string Area { get; set; }
  1136. public string s1 { get; set; }
  1137. public string s2 { get; set; }
  1138. public string s3 { get; set; }
  1139. public string s4 { get; set; }
  1140. public string s5 { get; set; }
  1141. public string s6 { get; set; }
  1142. public string s7 { get; set; }
  1143. public string s8 { get; set; }
  1144. public string s9 { get; set; }
  1145. public string s10 { get; set; }
  1146. }
  1147. public class AreaOfInclusionDEVData
  1148. {
  1149. public string classify { get; set; }
  1150. public string subdivision { get; set; }
  1151. public string Area { get; set; }
  1152. public string inca_proportion { get; set; }
  1153. public string inca_FieldRatio { get; set; }
  1154. }
  1155. }