Jelajahi Sumber

报告导出颗粒尺寸表显示优化修改兼容7个以下,以及12个下的数量显示

zhangjiaxin 1 bulan lalu
induk
melakukan
70c9efeb51

+ 0 - 5
Bin/x64/Debug/Version.txt

@@ -1,10 +1,5 @@
 =====================================
 update history
-------OTS3.2 2024-12
-优化测量程序测量流程多样品操作更加流畅
-优化测量在运行中的稳定性,更好的支持各种电镜运行情况
-优化报告程序优化三元图的显示,让每个粒级之间更加好区分(以形状和颜色区分)
-优化报告程序图形显示模块,让图表显示更加简洁流畅
 ------OTS3.1 2024-5
 增加边界重叠测量并自动去重功能
 可更加个性化设置报告模板(可精确到具体的分类)

+ 81 - 21
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/BasicData.cs

@@ -17,6 +17,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         private string SizeChart = "";
 
         List<string> colid = new List<string>();
+        List<string> colid_Below7 = new List<string>();
         private DataTable BData = new DataTable();
         private DataTable AllClass = new DataTable();
         private DataTable AllElement = new DataTable();
@@ -28,6 +29,7 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         /// </summary>
         public void SetParticlesizeTable(OTSReport_Export m_otsreport_export)
         {
+            colid_Below7.Clear();
             //获取粒级表
             string path1 = m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFileFolder +
                  m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile;
@@ -43,6 +45,19 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
                     colid.Add("≥"+ d1.ToString() /*+ "~" + d2.ToString()*/);
                 }
             }
+
+
+            for (int i = 0; i < SizeChart.Split(',').Length - 1; i++)
+            {
+                if (SizeChart.Split(',')[i].Length > 0)
+                {
+                    double d1 = Convert.ToDouble(SizeChart.Split(',')[i]);
+                    double d2 = Convert.ToDouble(SizeChart.Split(',')[i + 1]);
+                    colid_Below7.Add(d1.ToString() + "~" + d2.ToString());
+                }
+            }
+            double d = Convert.ToDouble(SizeChart.Split(',')[SizeChart.Split(',').Length - 1]);
+            colid_Below7.Add(d.ToString() + "~MAX");
             //double d = Convert.ToDouble(SizeChart.Split(',')[SizeChart.Split(',').Length - 1]);
             //colid.Add(d.ToString() + "~MAX");
         }
@@ -52,8 +67,16 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
         /// <returns></returns>
         public List<string> GetParticlesizeTable()
         {
-            return colid;
+            if(colid.Count>7)
+            {
+                return colid;
+            }else
+            {
+                return colid_Below7;
+            }
+            
         }
+       
         public void SetDBData(c_TemplateClass m_mbszclass, OTSReport_Export m_otsreport_export, string ComputeMode)
         {
             DataTable m_bt_DBData = new DataTable();
@@ -64,15 +87,39 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
                  m_otsreport_export.m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile;
             DataSet ds = OTSIncAReportApp.DataOperation.DataAccess.XMLoperate.GetXml(path1);
             string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
-            for (int i = 0; i < sizestr.Split(',').Length; i++)
+
+            bool blBelow7 = false;
+
+            if (sizestr.Split(',').Length>7)
             {
-                if (sizestr.Split(',')[i].Length > 0)
+                for (int i = 0; i < sizestr.Split(',').Length; i++)
                 {
-                    double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
-                    //double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]);
-                    colid.Add("≥" + d1.ToString() /*+ "~" + d2.ToString()*/);
+                    if (sizestr.Split(',')[i].Length > 0)
+                    {
+                        double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
+                        //double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]);
+                        colid.Add("≥" + d1.ToString() /*+ "~" + d2.ToString()*/);
+                    }
                 }
+                blBelow7 = true;
             }
+            else
+            {
+                for (int i = 0; i < sizestr.Split(',').Length - 1; i++)
+                {
+                    if (sizestr.Split(',')[i].Length > 0)
+                    {
+                        double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
+                        double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]);
+                        colid.Add(d1.ToString() + "~" + d2.ToString());
+                    }
+                }
+                double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]);
+                colid.Add(d.ToString() + "~MAX");
+                blBelow7 = false;
+            }
+
+            
             //double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]);
             //colid.Add(d.ToString() + "~MAX");
 
@@ -116,27 +163,40 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
                     dr["Class"] = dt.Rows[i]["GroupName"].ToString();
                 //continue;
                 dr["Largest"] = Math.Round(Convert.ToDouble(dt.Rows[i]["max"]), 2);
-                for (int a = 6; a < colid.Count; a++)
+
+                if(blBelow7)
                 {
-                    string d1 = colid[a].Split('≥')[1];
-                    string d2;
-                    if (a== colid.Count-1)
+                    for (int a = 6; a < colid.Count; a++)
                     {
-                        d2 = "999";
+                        string d1 = colid[a].Split('≥')[1];
+                        string d2;
+                        if (a == colid.Count - 1)
+                        {
+                            d2 = "999";
+                        }
+                        else
+                        {
+                            d2 = colid[a + 1].Split('≥')[1];
+                        }
+                        DataRow[] datas = dtp.Select(getWhere(d2, d1, po, dt.Rows[i]["TypeId"].ToString()));
+                        dr[colid[a]] = datas.Count();
                     }
-                    else
+                }
+                else
+                {
+                    for (int a = 6; a < colid.Count; a++)
                     {
-                        d2 = colid[a+1].Split('≥')[1];
+                        string d1 = colid[a].Split('~')[0];
+                        string d2 = colid[a].Split('~')[1];
+                        if (d2 == "MAX")
+                        {
+                            d2 = "999";
+                        }
+                        DataRow[] datas = dtp.Select(getWhere(d2, d1, po, dt.Rows[i]["TypeId"].ToString()));
+                        dr[colid[a]] = datas.Count();
                     }
-                    
-                   
-                    //if (d2 == "MAX")
-                    //{
-                    //    d2 = "999";
-                    //}
-                    DataRow[] datas = dtp.Select(getWhere(d2, d1, po, dt.Rows[i]["TypeId"].ToString()));
-                    dr[colid[a]] = datas.Count();
                 }
+             
                 for (int a = 0; a < AreaInformationOfAllElements.Rows.Count; a++)
                 {
                     if (dt.Rows[i]["TypeId"].ToString() == AreaInformationOfAllElements.Rows[a]["TypeId"].ToString())

+ 8 - 2
OTSIncAReportApp/1-UI/OTSReportExport/DataIntegration/ParticleAnalysis.cs

@@ -112,7 +112,11 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
 
             DataTable data = basicData.GetDBData();
             //获取粒级表
-            List<string> colid = basicData.GetParticlesizeTable();
+            List<string> colid = new List<string>();
+
+            colid = basicData.GetParticlesizeTable();
+          
+        
             //------------------------------------------------
             DataTable ls_partsize_dt = new DataTable();
             ls_partsize_dt.TableName = "PartSize";
@@ -186,8 +190,10 @@ namespace OTSIncAReportApp._1_UI.OTSReportExport.DataIntegration
             List<DataTable> datas = new List<DataTable>();
             DataTable data = basicData.GetDBData();
             //获取粒级表
-            List<string> colid = basicData.GetParticlesizeTable();
+            List<string> colid = new List<string>();
 
+            colid = basicData.GetParticlesizeTable();
+          
             //------------------------------------------------
             DataTable ls_partsize_dt = new DataTable();
             ls_partsize_dt.TableName = "PartSize";

+ 553 - 10
OTSIncAReportApp/1-UI/OTSReportExport/Template/DataTemplate.cs

@@ -131,8 +131,8 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             basicData.IsThereAMajorClassification();
             basicData.IsResultFilesList(m_otsreport_export);
             basicData.IsFilePath(m_otsreport_export);
-            setXRLabelData(dev_ypmc_up, "品名称:");
-            setXRLabelData(dev_ypbh_up, "样品编号:");//样品编号(中间的)
+            setXRLabelData(dev_ypmc_up, "品名称:");
+            setXRLabelData(dev_ypbh_up, "产品型号:");//样品编号(中间的)
             //setXRLabelData(dev_ypmc_up, GetlanguageData("dev_ypmc_up", dev_ypmc_up.Text));
             //setXRLabelData(dev_ypbh_up, GetlanguageData("dev_ypbh_up", dev_ypbh_up.Text));//样品编号(中间的)
             setXRLabelData(dev_bgsj_up, GetlanguageData("dev_bgsj_up", dev_bgsj_up.Text));//报告时间(中间的)
@@ -284,6 +284,10 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             xrTa_ParticleSizeTable.Rows[2].Cells[2].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[2].Cells[2].Font.Size);
             for (int i=0;i< CompositeData[0].Columns.Count;i++)
             {
+                if (i>11)
+                {
+                    continue;
+                }
                 xrTa_ParticleSizeTable.Rows[2].Cells[i+3].Text = CompositeData[0].Rows[0]["c"+(i+1).ToString()].ToString();
             }
 
@@ -388,7 +392,11 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
 
             for(int i=0;i< vs.Count;i++)
             {
-                xrTable3.Rows[0].Cells[i+2].Text = vs[i].ToString();
+				if (i > 11)
+				{
+					continue;
+				}
+				xrTable3.Rows[0].Cells[i+2].Text = vs[i].ToString();
                 xrTable3.Rows[0].Cells[i + 2].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
             }
 
@@ -468,6 +476,10 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             xrTa_ParticleSizeTable.Rows[2].Cells[1].Font = new Font(Schriftart_chinese, xrTa_ParticleSizeTable.Rows[2].Cells[1].Font.Size);
             for(int i=0;i< CompositeData[0].Columns.Count;i++)
             {
+                if (i > 11)
+                {
+                    continue;
+                }
                 xrTa_ParticleSizeTable.Rows[2].Cells[i+2].Text= CompositeData[0].Rows[0]["c"+(i+1).ToString()].ToString();
             }
 
@@ -543,10 +555,9 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             int total = 0;
             for (int i = 0; i < surface_dt2.Rows.Count; i++)
             {
-                
                 for (int a = 0; a < surface_dt2.Columns.Count-4; a++)
                 {
-                    if (surface_dt2.Rows[i][a] != " " && surface_dt2.Rows[i][a] != null)
+                    if (surface_dt2.Rows[i][a] != null)
                     {
                         bool isNumeric = double.TryParse(surface_dt2.Rows[i][a].ToString(), out double result);
                         if (isNumeric)
@@ -563,6 +574,11 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             xrTable3.Rows[0].Cells[1].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
             for (int i=0;i< vs.Count; i++)
             {
+                if (i > 11)
+                {
+                    continue;
+                }
+
                 xrTable3.Rows[0].Cells[i+2].Text = vs[i].ToString();
                 xrTable3.Rows[0].Cells[i + 2].TextAlignment = DevExpress.XtraPrinting.TextAlignment.MiddleCenter;
             }
@@ -572,6 +588,315 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             this.Detail.Controls.Add(xrTable3);
         }
 
+        private void add_SetTable_Below7(List<DataTable> CompositeData, DataTable surface_dt2)
+        {
+            XRTable xrTa_ParticleSizeTable = add_particleSize_Below7();
+            xrChart_ParticelSizeCalss.Visible = true;
+            xrChart_ParticelSizeSubdivision.Visible = true;
+            List<List<ParticleSizeDEVData>> list_ParticelSizeData = new List<List<ParticleSizeDEVData>>();
+            int ls = 0;
+            DataTable REORDER_data = REORDER(surface_dt2, "TypeId");
+            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<string> strings = new List<string>();
+                for (int a=0;a<12;a++)
+                {
+                    if (CompositeData[0].Columns.Count>a)
+                    {
+                        strings.Add(REORDER_data.Rows[i]["c" + (a + 1)].ToString());
+                    }
+                    else
+                    {
+                        strings.Add("");
+                    }
+                }
+
+                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(),
+                    strings[0], strings[1],
+                    strings[2], strings[3],
+                    strings[4], strings[5],
+                    strings[6], strings[7], strings[8], strings[9], strings[10], strings[11]));
+            }
+
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[0], GetlanguageData("dev_classify", "分类"));//二级分类(子分类)
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[1], GetlanguageData("dev_quantity", "数量"));//数量
+
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[0].Cells[0], GetlanguageData("dev_dimensiontable", "颗粒尺寸分析结果"));//颗粒尺寸分析结果
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[1].Cells[0], GetlanguageData("dev_dimensiontable_2", "尺寸计算基于:"));//尺寸计算基于:
+
+            //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);
+            for(int a=0;a< CompositeData[0].Columns.Count;a++)
+            {
+                xrTa_ParticleSizeTable.Rows[2].Cells[a+2].Text= CompositeData[0].Rows[0]["c"+(a+1)].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);
+            float fl = xrPageBreak1.LocationF.Y + 20;
+            xrTa_ParticleSizeTable.LocationF = new PointF(10f, fl);
+            XRTable xrTable3 = add_particleSize_Below7_end();
+            xrTable3.LocationF = new PointF(10f, xrTa_ParticleSizeTable.LocationF.Y + xrTa_ParticleSizeTable.HeightF);
+
+            List<int> vs = new List<int>();
+            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 = 0; a < surface_dt2.Columns.Count - 4; a++)
+                {
+                    if (surface_dt2.Rows[i][a] != null)
+                    {
+                        bool isNumeric = double.TryParse(surface_dt2.Rows[i][a].ToString(), out double result);
+                        if (isNumeric)
+                            vs[a] += 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 void add_SetTableS_Below7(List<DataTable> CompositeData, DataTable surface_dt2)
+        {
+            XRTable xrTa_ParticleSizeTable = add_particleSizeS_Below7();
+            xrChart_ParticelSizeCalss.Visible = true;
+            xrChart_ParticelSizeSubdivision.Visible = true;
+            List<List<ParticleSizeDEVData>> list_ParticelSizeData = new List<List<ParticleSizeDEVData>>();
+
+
+
+            for (int i = 0; i < CompositeData[1].Rows.Count; i++)
+            {
+                List<string> strings = new List<string>();
+                for (int a = 0; a < 12; a++)
+                {
+                    if (CompositeData[0].Columns.Count > a)
+                    {
+                        strings.Add(CompositeData[1].Rows[i]["c" + (a + 1)].ToString());
+                    }
+                    else
+                    {
+                        strings.Add("");
+                    }
+                }
+
+
+
+                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(), strings[0],
+                    strings[1], strings[2],
+                    strings[3], strings[4],
+                    strings[5], strings[6], strings[7], strings[8], strings[9], strings[10], strings[11]));
+            }
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[0], GetlanguageData("dev_classify", "分类"));//分类
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[1], GetlanguageData("dev_subdivision", "二级分类"));//二级分类(子分类)
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[2].Cells[2], GetlanguageData("dev_quantity", "数量"));//数量
+
+
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[0].Cells[0], GetlanguageData("dev_dimensiontable", "颗粒尺寸分析结果"));//颗粒尺寸分析结果
+            setXRLabelData(xrTa_ParticleSizeTable.Rows[1].Cells[0], GetlanguageData("dev_dimensiontable_2", "尺寸计算基于"));//尺寸计算基于:
+
+            //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);
+
+            for (int a = 0; a < CompositeData[0].Columns.Count; a++)
+            {
+                xrTa_ParticleSizeTable.Rows[2].Cells[a+3].Text = CompositeData[0].Rows[0]["c"+(a+1)].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);
+            float fl = xrPageBreak1.LocationF.Y + 20;
+            //xrTa_ParticleSizeTable.LocationF = new PointF(10f, 940f);
+            xrTa_ParticleSizeTable.LocationF = new PointF(10f, fl);
+
+            XRTable xrTable3 = add_particleSizeS_Below7_end();
+            xrTable3.LocationF = new PointF(10f, xrTa_ParticleSizeTable.LocationF.Y + xrTa_ParticleSizeTable.HeightF);
+
+            List<int> vs = new List<int>();
+            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 = 0; a < surface_dt2.Columns.Count - 4; a++)
+                {
+                    if (surface_dt2.Rows[i][a] != null)
+                    {
+                        bool isNumeric = double.TryParse(surface_dt2.Rows[i][a].ToString(), out double result);
+                        if (isNumeric)
+                            vs[a] += Convert.ToInt32(result);
+                    }
+                }
+                total += Convert.ToInt32(surface_dt2.Rows[i]["total"]);
+            }
+            setXRLabelData(xrTable3.Rows[0].Cells[0], GetlanguageData("dev_total", "总数量"));
+            //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);
+        }
         /// <summary>
         /// 优先级排序
         /// </summary>
@@ -999,17 +1324,36 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
                 subdivdeData.Rows[i]["Class"] = subscript.Getsubscriptstring(subdivdeData.Rows[i]["Class"].ToString());
             }
             #region 插入数据
-            if(CompositeData[1].Rows.Count>0)
+            if (basicData.GetParticlesizeTable().Count > 7)
             {
-                if (basicData.GetIsThereAMajorClassification())
+                if (CompositeData[1].Rows.Count > 0)
                 {
-                    add_SetTableS(CompositeData, surface_dt2);
+                    if (basicData.GetIsThereAMajorClassification())
+                    {
+                        add_SetTableS(CompositeData, surface_dt2);
+                    }
+                    else
+                    {
+                        add_SetTable(CompositeData, surface_dt2);
+                    }
                 }
-                else
+            }
+            else
+            {
+                if (CompositeData[1].Rows.Count > 0)
                 {
-                    add_SetTable(CompositeData, surface_dt2);
+                    if (basicData.GetIsThereAMajorClassification())
+                    {
+                        add_SetTableS_Below7(CompositeData, surface_dt2);
+                    }
+                    else
+                    {
+                        add_SetTable_Below7(CompositeData, surface_dt2);
+                    }
                 }
             }
+
+              
             
 
             if (m_mbszclass.M_KLFXJG.b_ck_klcc_xsddt)
@@ -2164,6 +2508,205 @@ namespace OTSIncAReportApp._1_UI.OTSTemplateDesigner
             NeueStartposition = Template.LocationF.Y + Template.SizeF.Height;
             return Template;
         }
+
+        /// <summary>
+        /// 颗粒尺寸无大分类表格式
+        /// </summary>
+        /// <returns></returns>
+        private XRTable add_particleSize_Below7()
+        {
+            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;
+        }
+        /// <summary>
+        /// 颗粒尺寸无大分类表格式 总结
+        /// </summary>
+        /// <returns></returns>
+        private XRTable add_particleSize_Below7_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;
+        }
+        /// <summary>
+        /// 颗粒尺寸有大分类表格式
+        /// </summary>
+        /// <returns></returns>
+        private XRTable add_particleSizeS_Below7()
+        {
+            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;
+        }
+        /// <summary>
+        /// 颗粒尺寸有大分类表格式总结
+        /// </summary>
+        /// <returns></returns>
+        private XRTable add_particleSizeS_Below7_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;
+        }
+
         /// <summary>
         /// 颗粒尺寸无大分类表格式
         /// </summary>