Sfoglia il codice sorgente

Merge branch 'Release2.3' into Release2.31

gsp 3 anni fa
parent
commit
d33727613f

+ 6 - 4
Bin/x64/Debug/Config/ProData/ReportTemplateConfig.xml

@@ -28,13 +28,15 @@
     <b_ck_ysfx_xsmk>True</b_ck_ysfx_xsmk>
     <index_cb_yxfx_jsfs>0</index_cb_yxfx_jsfs>
     <index_cb_ysfx_klfw>0</index_cb_ysfx_klfw>
-    <str_tb_ysfx_xsys>Al,Si,O,Ca,Mg</str_tb_ysfx_xsys>
+    <str_tb_ysfx_xsys>Al,Si,Ca,Mg,Mn,O,S</str_tb_ysfx_xsys>
     <list_str_tb_ysfx_xsys>
       <YS0>Al</YS0>
       <YS1>Si</YS1>
-      <YS2>O</YS2>
-      <YS3>Ca</YS3>
-      <YS4>Mg</YS4>
+      <YS2>Ca</YS2>
+      <YS3>Mg</YS3>
+      <YS4>Mn</YS4>
+      <YS5>O</YS5>
+      <YS6>S</YS6>
     </list_str_tb_ysfx_xsys>
     <b_ck_yscf_xsmk>True</b_ck_yscf_xsmk>
     <index_cb_yscf_xstx>0</index_cb_yscf_xstx>

+ 1 - 1
Bin/x64/Debug/Config/ProData/lj.psf

@@ -1,2 +1,2 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<XMLData FileMark="626" Name="LiJi1" Sizes="0,0.5,1,1.5,2,5,10,20,30" Version="1.1.1" />
+<XMLData FileMark="626" Name="LiJi1" Sizes="1,1.5,2,5,10,15,20,25,30" Version="1.1.1" />

+ 4 - 4
Bin/x64/Debug/Resources/HTML/charts.html

@@ -742,7 +742,7 @@
                         }
                     }],
                 grid: {
-                    left: '-3%',
+                    left: '-7%',
                     right: '7%',
                     bottom: '3%',
                     containLabel: true
@@ -810,12 +810,12 @@
             myChart.setOption(option);
         }
         window.onresize = function () {
-            $("#main").height($(window).height() - 100);
+            $("#main").height($(window).height() - 30);
             if (re == 1) {
-                $("#main").width($(window).height());
+                $("#main").width($(window).height()-30);
             }
             myChart.resize();
-           
+            
         }
         $(function () {
             $(':input').labelauty().on('click', function () {

BIN
Bin/x64/Debug/Resources/ReportTemplate/group1.rmf


+ 1 - 1
OTSIncAReportApp/1-UI/OTSDisplaySourceGridData/frmReportConditionChoose.cs

@@ -151,7 +151,7 @@ namespace OTSIncAReportApp
             List<string> list3 = new List<string>() { sortByType, arrangeBySize };
             AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGEGRID_DIS_TYPE, arrangementMode, OTS_ITEM_TYPES.COMBO, false, "Measured Data", list3[0], list3, IMAGEGRID_DIS_TYPE.CLASSIFY_TYPE);
             //计算方式
-            AddGridData(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, dimensionCalculationMethod, OTS_ITEM_TYPES.COMBO, false, "image property calculation method", "DMAX", m_rstDataMgr.GetSizeCalMethodTypeList(), SIZE_CAL_METHOD_TYPE.DMAX);
+            AddGridData(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, dimensionCalculationMethod, OTS_ITEM_TYPES.COMBO, false, "image property calculation method", "CIRCLE", m_rstDataMgr.GetSizeCalMethodTypeList(), SIZE_CAL_METHOD_TYPE.CIRCLE);
             //数据表类型
             List<string> list2 = new List<string>() { surveyResults, sampleMeasurementInformation, granularComponent, elementComposition, particleSizeDistribution, averageElementComposition };
             //string[] aa = m_ReportApp.Text.Split('-');

+ 12 - 0
OTSIncAReportApp/1-UI/OTSTemplateDesigner/Export_ReportTemplate.cs

@@ -153,6 +153,8 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
             DT_Largest_frame.Columns.Add("pid");
             DT_Largest_frame.Columns.Add("Size");
             DT_Largest_frame.Columns.Add("Width");
+            DT_Largest_frame.Columns.Add("DMAX");
+            DT_Largest_frame.Columns.Add("DMIN");
             DT_Largest_frame.Columns.Add("Class");
             DT_Largest_frame.Columns.Add("ColName1");
             DT_Largest_frame.Columns.Add("ColName2");
@@ -180,6 +182,8 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
             DT_Largest20.Columns.Add("pid");
             DT_Largest20.Columns.Add("Size");
             DT_Largest20.Columns.Add("Width");
+            DT_Largest20.Columns.Add("DMAX");
+            DT_Largest20.Columns.Add("DMIN");
             DT_Largest20.Columns.Add("Class");
             DT_Largest20.Columns.Add("ColName1");
             DT_Largest20.Columns.Add("ColName2");
@@ -300,6 +304,8 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
                     //dr["pid"] = str_fieldid + dt_ParticlesGridDevidePage.Rows[i_row]["particleid"].ToString();
                     dr["Size"] = Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["area"]).ToString("#0.00"); //可以需要选择切换,计算方式
                     dr["Width"] = dt_ParticlesGridDevidePage.Rows[i_row]["rectwidth"].ToString();
+                    dr["DMAX"] = Math.Round(Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["dmax"]), 2).ToString();
+                    dr["DMIN"] = Math.Round(Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["dmin"]), 2).ToString();
                     dr["Class"] = dt_ParticlesGridDevidePage.Rows[i_row]["typename"].ToString();
 
 
@@ -464,6 +470,8 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
                     dr["pid"] = str_fieldid + dt_ParticlesGridDevidePage.Rows[i_row]["particleid"].ToString();
                     dr["Size"] = Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["area"]).ToString("#0.00");  //可以需要选择切换,计算方式
                     dr["Width"] = dt_ParticlesGridDevidePage.Rows[i_row]["rectwidth"].ToString();
+                    dr["DMAX"] = Math.Round(Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["dmax"]),2).ToString();
+                    dr["DMIN"] = Math.Round(Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["dmin"]),2).ToString();
                     dr["Class"] = dt_ParticlesGridDevidePage.Rows[i_row]["typename"].ToString();
 
                     dr["fieldid"] = str_fieldid;
@@ -529,6 +537,8 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
             FrameGraphSubTable.Columns.Add("pid");
             FrameGraphSubTable.Columns.Add("Size");
             FrameGraphSubTable.Columns.Add("Width");
+            FrameGraphSubTable.Columns.Add("DMAX");
+            FrameGraphSubTable.Columns.Add("DMIN");
             FrameGraphSubTable.Columns.Add("Class");
             FrameGraphSubTable.Columns.Add("ColName1");
             FrameGraphSubTable.Columns.Add("ColName2");
@@ -608,6 +618,8 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
                     dr["pid"] = str_fieldid + dt_ParticlesGridDevidePage.Rows[i_row]["particleid"].ToString();
                     dr["Size"] = Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["area"]).ToString("#0.00");  //可以需要选择切换,计算方式
                     dr["Width"] = dt_ParticlesGridDevidePage.Rows[i_row]["rectwidth"].ToString();
+                    dr["DMAX"] = Math.Round(Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["dmax"]),2).ToString();
+                    dr["DMIN"] = Math.Round(Convert.ToDouble(dt_ParticlesGridDevidePage.Rows[i_row]["dmin"]),2).ToString();
                     dr["Class"] = dt_ParticlesGridDevidePage.Rows[i_row]["typename"].ToString();
 
                     dr["fieldid"] = str_fieldid;

+ 25 - 19
OTSIncAReportApp/1-UI/OTSTemplateDesigner/OTSReport_Export.cs

@@ -1247,16 +1247,16 @@ namespace OTSIncAReportApp
 
 
                 //创建表 Largest_frame
-                string[] strcolumns_Largest_frame = { "pid", "Size", "Width", "Class", "ColName1", "ColName2", "ColName3", "ColName4", "ColName5", "ColName6",
+                string[] strcolumns_Largest_frame = { "pid", "Size", "Width","DMAX","DMIN", "Class", "ColName1", "ColName2", "ColName3", "ColName4", "ColName5", "ColName6",
                 "ColVal1", "ColVal2", "ColVal3", "ColVal4", "ColVal5", "ColVal6" ,"FieldId","p1"};
-                string[] strcoltypes_Largest_frame = { "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT" ,
+                string[] strcoltypes_Largest_frame = { "TEXT", "TEXT", "TEXT", "TEXT","TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT" ,
             "INT","BLOB"};
                 
 
                 //创建表 Largest20
-                string[] strcolumns_Largest20 = { "pid", "Size", "Width", "Class", "ColName1", "ColName2", "ColName3", "ColName4", "ColName5", "ColName6",
+                string[] strcolumns_Largest20 = { "pid", "Size", "Width","DMAX","DMIN", "Class", "ColName1", "ColName2", "ColName3", "ColName4", "ColName5", "ColName6",
                 "ColVal1", "ColVal2", "ColVal3", "ColVal4", "ColVal5", "ColVal6" ,"p1" ,"p2" ,"p3"};
-                string[] strcoltypes_Largest20 = { "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT" ,
+                string[] strcoltypes_Largest20 = {"TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT", "TEXT" ,
             "BLOB","BLOB","BLOB"};
                 
 
@@ -1347,7 +1347,7 @@ namespace OTSIncAReportApp
                             continue;
                         }
 
-                        string ls_sqlstr = "insert into Largest_frame (pid, Size, Width, Class, ColName1, ColName2, ColName3, ColName4, ColName5, ColName6,ColVal1, ColVal2, ColVal3, ColVal4, ColVal5, ColVal6 ,FieldID,p1) values('"
+                        string ls_sqlstr = "insert into Largest_frame (pid, Size, Width, DMAX,DMIN,Class, ColName1, ColName2, ColName3, ColName4, ColName5, ColName6,ColVal1, ColVal2, ColVal3, ColVal4, ColVal5, ColVal6 ,FieldID,p1) values('"
                             + ls_Largest_frame.Rows[i][0].ToString() + "','"
                             + ls_Largest_frame.Rows[i][1].ToString() + "','"
                             + ls_Largest_frame.Rows[i][2].ToString() + "','"
@@ -1363,10 +1363,12 @@ namespace OTSIncAReportApp
                             + ls_Largest_frame.Rows[i][12].ToString() + "','"
                             + ls_Largest_frame.Rows[i][13].ToString() + "','"
                             + ls_Largest_frame.Rows[i][14].ToString() + "','"
-                            + ls_Largest_frame.Rows[i][15].ToString() + "',"
-                            + ls_Largest_frame.Rows[i][16].ToString() + ",:p1)";
+                            + ls_Largest_frame.Rows[i][15].ToString() + "','"
+                             + ls_Largest_frame.Rows[i][16].ToString() + "','"
+                              + ls_Largest_frame.Rows[i][17].ToString() + "',"
+                            + ls_Largest_frame.Rows[i][18].ToString() + ",:p1)";
 
-                        byte[] byte_p1 = (byte[])ls_Largest_frame.Rows[i][17];
+                        byte[] byte_p1 = (byte[])ls_Largest_frame.Rows[i][19];
 
                         int iresult = sh.ExecuteQuery(ls_sqlstr, "p1", byte_p1, tr);
                     }
@@ -1380,16 +1382,16 @@ namespace OTSIncAReportApp
                     DataTable ls_Largest_frame = list_dt.Where(aa => aa.TableName.Contains("FrameGraphSubTable")).ToList()[0];
                     for (int i = 0; i < ls_Largest_frame.Rows.Count; i++)
                     {
-                        if (ls_Largest_frame.Rows[i][17] == null)
+                        if (ls_Largest_frame.Rows[i][19] == null)
                         {
                             continue;
                         }
-                        if (ls_Largest_frame.Rows[i][17] == DBNull.Value)
+                        if (ls_Largest_frame.Rows[i][19] == DBNull.Value)
                         {
                             continue;
                         }
 
-                        string ls_sqlstr = "insert into FrameGraphSubTable (pid, Size, Width, Class, ColName1, ColName2, ColName3, ColName4, ColName5, ColName6,ColVal1, ColVal2, ColVal3, ColVal4, ColVal5, ColVal6 ,FieldID,p1) values('"
+                        string ls_sqlstr = "insert into FrameGraphSubTable (pid, Size, Width,DMAX,DMIN, Class, ColName1, ColName2, ColName3, ColName4, ColName5, ColName6,ColVal1, ColVal2, ColVal3, ColVal4, ColVal5, ColVal6 ,FieldID,p1) values('"
                             + ls_Largest_frame.Rows[i][0].ToString() + "','"
                             + ls_Largest_frame.Rows[i][1].ToString() + "','"
                             + ls_Largest_frame.Rows[i][2].ToString() + "','"
@@ -1405,10 +1407,12 @@ namespace OTSIncAReportApp
                             + ls_Largest_frame.Rows[i][12].ToString() + "','"
                             + ls_Largest_frame.Rows[i][13].ToString() + "','"
                             + ls_Largest_frame.Rows[i][14].ToString() + "','"
-                            + ls_Largest_frame.Rows[i][15].ToString() + "',"
-                            + ls_Largest_frame.Rows[i][16].ToString() + ",:p1)";
+                            + ls_Largest_frame.Rows[i][15].ToString() + "','"
+                            + ls_Largest_frame.Rows[i][16].ToString() + "','"
+                            + ls_Largest_frame.Rows[i][17].ToString() + "',"
+                            + ls_Largest_frame.Rows[i][18].ToString() + ",:p1)";
 
-                        byte[] byte_p1 = (byte[])ls_Largest_frame.Rows[i][17];
+                        byte[] byte_p1 = (byte[])ls_Largest_frame.Rows[i][19];
 
                         int iresult = sh.ExecuteQuery(ls_sqlstr, "p1", byte_p1, tr);
                     }
@@ -1430,7 +1434,7 @@ namespace OTSIncAReportApp
                             continue;
                         }
 
-                        string ls_sqlstr = "insert into Largest20 (pid, Size, Width, Class, ColName1, ColName2, ColName3, ColName4, ColName5, ColName6,ColVal1, ColVal2, ColVal3, ColVal4, ColVal5, ColVal6 ,p1,p2,p3) values('"
+                        string ls_sqlstr = "insert into Largest20 (pid, Size, Width ,DMAX,DMIN,Class, ColName1, ColName2, ColName3, ColName4, ColName5, ColName6,ColVal1, ColVal2, ColVal3, ColVal4, ColVal5, ColVal6 ,p1,p2,p3) values('"
                             + ls_Largest20.Rows[i][0].ToString() + "','"
                             + ls_Largest20.Rows[i][1].ToString() + "','"
                             + ls_Largest20.Rows[i][2].ToString() + "','"
@@ -1446,11 +1450,13 @@ namespace OTSIncAReportApp
                             + ls_Largest20.Rows[i][12].ToString() + "','"
                             + ls_Largest20.Rows[i][13].ToString() + "','"
                             + ls_Largest20.Rows[i][14].ToString() + "','"
-                            + ls_Largest20.Rows[i][15].ToString() + "',:p1,:p2,:p3)";
+                            + ls_Largest20.Rows[i][15].ToString() + "','"
+                            + ls_Largest20.Rows[i][16].ToString() + "','"
+                            + ls_Largest20.Rows[i][17].ToString() + "',:p1,:p2,:p3)";
 
-                        byte[] byte_p1 = (byte[])ls_Largest20.Rows[i][16];
-                        byte[] byte_p2 = (byte[])ls_Largest20.Rows[i][17];
-                        byte[] byte_p3 = (byte[])ls_Largest20.Rows[i][18];
+                        byte[] byte_p1 = (byte[])ls_Largest20.Rows[i][18];
+                        byte[] byte_p2 = (byte[])ls_Largest20.Rows[i][19];
+                        byte[] byte_p3 = (byte[])ls_Largest20.Rows[i][20];
 
                         int iresult = sh.ExecuteQuery(ls_sqlstr, "p1", byte_p1, "p2", byte_p2, "p3", byte_p3, tr);
                     }

+ 34 - 7
OTSIncAReportApp/1-UI/OTSTemplateDesigner/OTSReport_TemplateDesignerRM.Designer.cs

@@ -104,6 +104,8 @@
             this.panel3 = new System.Windows.Forms.Panel();
             this.groupBox9 = new System.Windows.Forms.GroupBox();
             this.label39 = new System.Windows.Forms.Label();
+            this.comboBox_PeriodicTable = new System.Windows.Forms.ComboBox();
+            this.button3 = new System.Windows.Forms.Button();
             this.groupBox1.SuspendLayout();
             this.groupBox4.SuspendLayout();
             this.groupBox5.SuspendLayout();
@@ -433,7 +435,7 @@
             this.groupBox5.Controls.Add(this.label20);
             this.groupBox5.Controls.Add(this.label22);
             this.groupBox5.Controls.Add(this.cb_yscf_xstx);
-            this.groupBox5.Location = new System.Drawing.Point(3, 738);
+            this.groupBox5.Location = new System.Drawing.Point(3, 752);
             this.groupBox5.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox5.Name = "groupBox5";
             this.groupBox5.Padding = new System.Windows.Forms.Padding(2);
@@ -485,6 +487,8 @@
             // 
             // groupBox6
             // 
+            this.groupBox6.Controls.Add(this.button3);
+            this.groupBox6.Controls.Add(this.comboBox_PeriodicTable);
             this.groupBox6.Controls.Add(this.tb_ysfx_xsys);
             this.groupBox6.Controls.Add(this.button4);
             this.groupBox6.Controls.Add(this.ck_ysfx_xsmk);
@@ -493,27 +497,28 @@
             this.groupBox6.Margin = new System.Windows.Forms.Padding(2);
             this.groupBox6.Name = "groupBox6";
             this.groupBox6.Padding = new System.Windows.Forms.Padding(2);
-            this.groupBox6.Size = new System.Drawing.Size(268, 101);
+            this.groupBox6.Size = new System.Drawing.Size(268, 134);
             this.groupBox6.TabIndex = 4;
             this.groupBox6.TabStop = false;
             this.groupBox6.Text = "元素分析表";
             // 
             // tb_ysfx_xsys
             // 
-            this.tb_ysfx_xsys.Location = new System.Drawing.Point(16, 66);
+            this.tb_ysfx_xsys.Location = new System.Drawing.Point(16, 51);
             this.tb_ysfx_xsys.Margin = new System.Windows.Forms.Padding(2);
             this.tb_ysfx_xsys.Name = "tb_ysfx_xsys";
-            this.tb_ysfx_xsys.Size = new System.Drawing.Size(173, 21);
+            this.tb_ysfx_xsys.ReadOnly = true;
+            this.tb_ysfx_xsys.Size = new System.Drawing.Size(181, 21);
             this.tb_ysfx_xsys.TabIndex = 58;
             // 
             // button4
             // 
-            this.button4.Location = new System.Drawing.Point(213, 66);
+            this.button4.Location = new System.Drawing.Point(167, 93);
             this.button4.Margin = new System.Windows.Forms.Padding(2);
             this.button4.Name = "button4";
-            this.button4.Size = new System.Drawing.Size(37, 19);
+            this.button4.Size = new System.Drawing.Size(72, 20);
             this.button4.TabIndex = 57;
-            this.button4.Text = "...";
+            this.button4.Text = "PeriodicTable";
             this.button4.UseVisualStyleBackColor = true;
             this.button4.Click += new System.EventHandler(this.button4_Click);
             // 
@@ -946,6 +951,26 @@
             this.label39.TabIndex = 75;
             this.label39.Text = "模板设置";
             // 
+            // comboBox_PeriodicTable
+            // 
+            this.comboBox_PeriodicTable.FormattingEnabled = true;
+            this.comboBox_PeriodicTable.Location = new System.Drawing.Point(16, 93);
+            this.comboBox_PeriodicTable.Name = "comboBox_PeriodicTable";
+            this.comboBox_PeriodicTable.Size = new System.Drawing.Size(141, 20);
+            this.comboBox_PeriodicTable.TabIndex = 59;
+            this.comboBox_PeriodicTable.SelectedIndexChanged += new System.EventHandler(this.comboBox_PeriodicTable_SelectedIndexChanged);
+            this.comboBox_PeriodicTable.KeyDown += new System.Windows.Forms.KeyEventHandler(this.comboBox_PeriodicTable_KeyDown);
+            // 
+            // button3
+            // 
+            this.button3.Location = new System.Drawing.Point(202, 51);
+            this.button3.Name = "button3";
+            this.button3.Size = new System.Drawing.Size(55, 23);
+            this.button3.TabIndex = 60;
+            this.button3.Text = "Delete";
+            this.button3.UseVisualStyleBackColor = true;
+            this.button3.Click += new System.EventHandler(this.button3_Click_1);
+            // 
             // OTSReport_TemplateDesignerRM
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
@@ -1072,5 +1097,7 @@
         private System.Windows.Forms.Label label39;
         private System.Windows.Forms.TextBox tb_ysfx_xsys;
         private System.Windows.Forms.Button button4;
+        public System.Windows.Forms.ComboBox comboBox_PeriodicTable;
+        private System.Windows.Forms.Button button3;
     }
 }

+ 61 - 0
OTSIncAReportApp/1-UI/OTSTemplateDesigner/OTSReport_TemplateDesignerRM.cs

@@ -46,6 +46,17 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
         /// </summary>
         private void BindControl()
         {
+            #region 元素选择
+            string[] PeriodicTable = { "H", "He", "Li", "Be", "B", "C", "N", "O", "F", "Ne", "Na", "Mg", "Al", "Si", "P", "S", "Cl", "Ar", "K", "Ca", "Sc", "Ti", "V", "Cr", "Mn", "Fe", "Co", "Ni", "Cu", "Zn", "Ga", "Ge", "As", "Se", "Br", "Kr", "Rb", "Sr", "Y", "Zr", "Nb", "Mo", "Tc", "Ru", "Rh", "Pd", "Ag", "Cd", "In", "Sn", "Sb", "Te", "I", "Xe", "Cs", "Ba", "La", "Ce", "Pr", "Nd", "Pm", "Sm", "Eu", "Gd", "Tb", "Dy", "Ho", "Er", "Tm", "Yb", "Lu", "Hf", "Ta", "W", "Re", "Os", "Ir", "Pt", "Au", "Hq", "TI", "Pb", "Bi", "Po", "At", "Rn", "Fr", "Ra", "Ac", "Th", "Pa", "U", "Np", "Pu", "Am", "Cm", "Bk", "Cf", "Es", "Fm", "Mc", "No", "Lr", "Rf", "Db", "Sg", "Bh", "Hs", "Mt", "Ds", "Rg", "Unb" };
+            comboBox_PeriodicTable.Items.AddRange(PeriodicTable);
+            AutoCompleteStringCollection sc = new AutoCompleteStringCollection();
+            sc.AddRange(PeriodicTable);
+            this.comboBox_PeriodicTable.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;
+            this.comboBox_PeriodicTable.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
+            this.comboBox_PeriodicTable.AutoCompleteCustomSource = sc;
+            #endregion
+
+
             #region 颗粒尺寸分析结果
             //计算方式
             //BindComboBox(DisplayPicutureType.AnalyzeDataChart, cb_klcc_jsfs, OTS_RETORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, (int)CALCULATE_CHART_TYPE.TRIO_CHART, OTS_RETORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);
@@ -1003,6 +1014,12 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
         {
             if (VerifyControlValue() == false)
                 return;
+            string[] after  = tb_ysfx_xsys.Text.Split(new char[] { ',' });
+            m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Clear();
+            for (int i=0;i< after.Length;i++)
+            {
+                m_OTSReport_Export.m_mbszclass.M_YSFXJG.list_str_tb_ysfx_xsys.Add(after[i]);
+            }
 
             SaveTemplateParameters();
 
@@ -1130,5 +1147,49 @@ namespace OTSIncAReportApp.OTSTemplateDesigner
             KLLB();
         }
         #endregion
+
+        private void comboBox_PeriodicTable_SelectedIndexChanged(object sender, EventArgs e)
+        {
+            if (comboBox_PeriodicTable.Text != null && comboBox_PeriodicTable.SelectedItem != null)
+            {
+
+                string newStr = comboBox_PeriodicTable.SelectedItem.ToString();
+                string[] after = tb_ysfx_xsys.Text.Split(new char[] { ',' });
+                for (int i=0;i< after.Length;i++)
+                {
+                    if (after[i] == newStr)
+                    {
+                        MessageBox.Show("Element already exists!");
+                        return;
+                    }
+                }
+                if (tb_ysfx_xsys.Text == "")
+                    tb_ysfx_xsys.Text = tb_ysfx_xsys.Text + newStr;
+                else if (tb_ysfx_xsys.Text.Substring(tb_ysfx_xsys.Text.Length - 1) != ",")
+                    tb_ysfx_xsys.Text = tb_ysfx_xsys.Text + "," + newStr;
+                else
+                    tb_ysfx_xsys.Text = tb_ysfx_xsys.Text + newStr;
+                comboBox_PeriodicTable.Text = null;
+            }
+        }
+
+        private void comboBox_PeriodicTable_KeyDown(object sender, KeyEventArgs e)
+        {
+
+        }
+
+        private void button3_Click_1(object sender, EventArgs e)
+        {
+            string str = "";
+            string[] after = tb_ysfx_xsys.Text.Split(new char[] { ',' });
+            for (int i=0;i< after.Length-1;i++)
+            {
+                if (i == after.Length - 2)
+                    str = str + after[i];
+                else
+                    str = str + after[i] + ",";
+            }
+            tb_ysfx_xsys.Text = str;
+        }
     }
 }