Browse Source

Merge branch 'OTSRelease3_0' of http://36.129.163.148:30080/gogsadmin/OTS into OTSRelease3_0

zhangjiaxin 11 months ago
parent
commit
88ebd85995

+ 2 - 2
Bin/x64/Debug/Resources/XMLData/AppResource_EN.xml

@@ -877,8 +877,8 @@
 	  <Control name="col5" text="Total field of view detected" />
 	  <Control name="col6" text="Analysis standard library" />
 	  <Control name="col7" text="Detected features" />
-	  <Control name="col8" text="Field of view area(sq.μ m)" />
-	  <Control name="col9" text="Total area of analyzed features(sq.μm)" />
+	  <Control name="col8" text="Total detection area(μ m" />
+	  <Control name="col9" text="Total area of analyzed features(μm" />
 	  <Control name="col10" text="Detected characteristic area ratio " />
 	  <Control name="col11" text="Inclusion/scale" />
 	  <Control name="col12" text="Magnification" />

+ 1 - 1
Bin/x64/Debug/Resources/XMLData/AppResource_ZH.xml

@@ -821,7 +821,7 @@
 	  <Control name="col5" text="已检测视场总数" />
 	  <Control name="col6" text="分析标准库" />
 	  <Control name="col7" text="已检测特征" />
-	  <Control name="col8" text="视场面积(μm" />
+	  <Control name="col8" text="总检测面积(μm" />
 	  <Control name="col9" text="已分析特征总面积 (μm" />
 	  <Control name="col10" text="特征/夹杂物指数" />
 	  <Control name="col11" text="纳入指数/比例因子" />

+ 22 - 108
OTSIncAReportApp/1-UI/Control_Grids/ParticlesGridDevidePage/ParticlesGridDevidePage.cs

@@ -169,22 +169,10 @@ namespace OTSIncAReportGrids
         {
             m_ReportApp = ReportApp;
             m_condition = ReportApp.m_conditionChoose;
-
-            
-
-
             string sou = m_condition.m_CurrentConditions[OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString();
             if (sou.Contains("+"))
             {
                 MessageBox.Show("This function does not support multiple samples!");
-
-                //m_ReportApp.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE].itemVal = (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION;
-                //var rstlist = m_conditionData.GetComboDownListByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
-                //prop.SetPropByPropItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE, rstlist[(int)IMAGE_DISPLAY_TYPE.DISTRIBUTION]);
-                //m_ReportApp.MoreSource = "";
-                //m_condition.SetDefaultConditionValue();
-                //m_condition.DisCurrentPicProperty();
-
                 result = m_ReportApp.m_rstDataMgr.ResultFilesList[0];
             }
             else
@@ -193,7 +181,6 @@ namespace OTSIncAReportGrids
             }
             ReportFun = new OTSImageDisHelp(result);
 
-
             //设置窗体的双缓冲,以保证大数据时拖动不卡
             this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint, true);
             this.UpdateStyles();
@@ -230,17 +217,19 @@ namespace OTSIncAReportGrids
             }
             try
             {
+                //m_condition[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE].itemVal = (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION;
+                //var rstlist = m_conditionData.GetComboDownListByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
+                //prop.SetPropByPropItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE, rstlist[(int)IMAGE_DISPLAY_TYPE.DISTRIBUTION]);
+                //m_ReportApp.MoreSource = "";
+                //m_condition.SetDefaultConditionValue();
+                //m_condition.DisCurrentPicProperty();
+
                 lan = new Language(this);
                 table = lan.GetNameTable(this.Name);
-
-
                 m_mythread_state = false;
                 m_mythread = new Thread(new ParameterizedThreadStart(Thread_GO));
-                //m_frm_userprogress = new Frm_UserProgress();
                 fieldData = new FieldData(result.FilePath);
                 Particledata = new ParticleData(result.FilePath);
-                //List<Field> fieldlist = fieldData.GetFieldList();
-                //m_ReportApp.m_rstDataMgr.CurResultFile.List_OTSField = fieldlist;
                 var systype = m_ReportApp.m_RptConfigFile.Systype;
                 if (systype == OTSCommon.Model.OTS_SysType_ID.CleannessA)
                 {
@@ -253,7 +242,6 @@ namespace OTSIncAReportGrids
                     else
                     {
                         userLibraryData = null;
-                        //MessageBox.Show("未读取到用户标准库!");
                     }
                 }
                 //初始化底层操作类
@@ -265,7 +253,6 @@ namespace OTSIncAReportGrids
                 log.Error(ex.ToString());
                 return false;
             }
-
         }
         private void ParticlesGridDevidePage_Load(object sender, EventArgs e)
         {
@@ -287,21 +274,17 @@ namespace OTSIncAReportGrids
             cbB_PageSize.Items.Add("5000");
             cbB_PageSize.Items.Add("All");
             cbB_PageSize.SelectedIndex = 0;
-
             dgV_ParticlesDevidePage.Focus();
         }
 
         #region 自定义方法
-
         bool UpdateTable()
         {
             int sel = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST);
-
-            //多次测试发现 读取数据库时间耗时长,但读取条数目对读取数据库时长影响不大,故此处直接读取所有数据库信息,以取代多次连接数据库方式,优化分页速度
             particlesAll = new DataTable();
             if (sel == (int)SelItem.analyticalParticle)
             {
-                //particlesAll = Particledata.GetInfoForPartucleDevidePage2(condition);
+                
                 particlesAll = Particledata.GetInfoForPartucleDevidePage_analyticalParticle(condition);
                 DataTable mergeParticles = Particledata.GetInfoForPartucleDevidePage_mergeParticles(condition);
                 if (mergeParticles != null && mergeParticles.Rows.Count > 0)
@@ -385,16 +368,13 @@ namespace OTSIncAReportGrids
             }
             if (sel!=(int)SelItem.MergeParticles)
             {
-
                 DataTable XRayData = Particledata.GetXRayData();
                 particlesAll.Columns.Add("XRayDataCount");
                 for (int i = 0; i < particlesAll.Rows.Count; i++)
                 {
                     if (int.Parse(particlesAll.Rows[i]["particleId"].ToString()) > -1)
                     {
-
                         particlesAll.Rows[i]["XRayDataCount"] = 0;
-
                         string str = " XrayIndex= " + particlesAll.Rows[i]["particleId"].ToString() + " and fieldid = " + particlesAll.Rows[i]["fieldid"].ToString();
                         DataRow[] drs = XRayData.Select(str);
                         uint xraycount = 0;
@@ -414,7 +394,6 @@ namespace OTSIncAReportGrids
                                 particlesAll.Rows[i]["XRayDataCount"] = xraycount;
                             }
                         }
-
                     }
                 }
             }
@@ -429,15 +408,15 @@ namespace OTSIncAReportGrids
         public Bitmap GetBitmapByParticle(string fieldImage, Rectangle offset_rect)
         {
 
-            //然后将取出的数据,转换成Bitmap对象
             Bitmap ls_bt = DrawFunction.ReadImageFile(fieldImage);
-
-            //为了能把整个颗粒显示完整
             offset_rect.X = offset_rect.X - 5;
             offset_rect.Y = offset_rect.Y - 5;
             offset_rect.Width = offset_rect.Width + 10;
             offset_rect.Height = offset_rect.Height + 10;
 
+
+
+
             //防止计算偏差后,有坐标溢出现象
             if (offset_rect.X < 0)
                 offset_rect.X = 0;
@@ -462,7 +441,6 @@ namespace OTSIncAReportGrids
             }
             else
             {
-
                 new_ret_bp = new Bitmap(offset_rect.Width, offset_rect.Height);
             }
 
@@ -470,22 +448,18 @@ namespace OTSIncAReportGrids
         }
         public Bitmap GetBitmapForBig(string sub, ParticleData fielddata, double xs)
         {
-
             string vs = "," + sub.Replace(':', '-') + ",";
-
             DataTable dataTable = fielddata.GetParticleAllforparticlelist(vs);
             if (dataTable.Rows.Count == 0)
             {
                 return null;
             }
             string path = result.FilePath;
-
             //内接矩形
             double max_Y = Convert.ToInt64(dataTable.Rows[0]["FieldPosY"]) * xs - Convert.ToInt64(dataTable.Rows[0]["RectTop"]);
             double max_X = Convert.ToInt64(dataTable.Rows[0]["FieldPosX"]) * xs + Convert.ToInt64(dataTable.Rows[0]["RectLeft"]);
             double min_Y = max_Y;
             double min_X = max_X;
-
             //拼接field矩形
             double MAX_Y = Convert.ToInt64(dataTable.Rows[0]["FieldPosY"]) * xs;
             double MAX_X = Convert.ToInt64(dataTable.Rows[0]["FieldPosX"]) * xs;
@@ -508,6 +482,7 @@ namespace OTSIncAReportGrids
                 {
                     max_Y = lrfttopY;
                 }
+
                 if (min_Y > lrfttopY - Convert.ToInt64(item["RectHeight"]))
                 {
                     min_Y = lrfttopY - Convert.ToInt64(item["RectHeight"]);
@@ -539,20 +514,15 @@ namespace OTSIncAReportGrids
             Graphics graph = Graphics.FromImage(tableChartImage);
             //初始化这个大图
             graph.DrawImage(tableChartImage, 0, 0);
-
-
             int width = Convert.ToInt32(max_X - min_X);
             int height = Convert.ToInt32(max_Y - min_Y);
             int X = Convert.ToInt32(min_X - MIN_X);
             int Y = Convert.ToInt32(MAX_Y - max_Y);
             Rectangle rectangle = new Rectangle() { X = X, Y = Y, Width = width, Height = height };
-
-
             foreach (DataRow item in dataTable.Rows)
             {
                 string filePath = path + "\\FIELD_FILES\\";
                 string imagePath = filePath + "Field" + item["fieldid"].ToString() + ".bmp";
-                //然后将取出的数据,转换成Bitmap对象
                 Bitmap ls_bt = DrawFunction.ReadImageFile(imagePath);
                 int x = Convert.ToInt32(Convert.ToDouble(item["FieldPosX"]) * xs - MIN_X);
                 int y = System.Math.Abs(Convert.ToInt32(Convert.ToDouble(item["FieldPosY"]) * xs - MAX_Y));
@@ -562,12 +532,9 @@ namespace OTSIncAReportGrids
                 }
                 catch /*(Exception e)*/
                 {
-
                     throw;
                 }
-
             }
-
             Bitmap bmap = tableChartImage.Clone(rectangle, PixelFormat.Format8bppIndexed);
             return bmap;
         }
@@ -576,17 +543,15 @@ namespace OTSIncAReportGrids
         private void BindDataGridView()
         {
             dgV_ParticlesDevidePage.Visible = false;
-
             if (m_frm_userprogress.IsDisposed)
             {
                 ProgressStart();
             }
-
             dgV_ParticlesDevidePage.Rows.Clear();
             dgV_ParticlesDevidePage.Columns.Clear();
 
             var startFun = m_ReportApp.m_RptConfigFile.Systype;
-            //从报告xml文件中加载,显示计算列,显示元素信息
+            
             string str_DefaultComputedColName = "", str_ElementsColName = "";
             DataSet ds = XMLoperate.GetXmlData(Application.StartupPath + RptConfigFile.m_ReportMgrParamFile, "XMLData");
             DataTable dt = ds.Tables["Member"];
@@ -604,13 +569,8 @@ namespace OTSIncAReportGrids
                     str_ElementsColName = element["strValue"].ToString();
                 }
             }
-
-            //获取需要显示的计算列
             string[] strs = str_DefaultComputedColName.Split(',');
-
-            //列名
             Dictionary<string, string> keyValues = new Dictionary<string, string>() { };
-
             keyValues.Add("rowid", table["str4"].ToString());
             keyValues.Add("TypeName", table["str6"].ToString());
             keyValues.Add("ParticleImage", table["str5"].ToString());
@@ -696,10 +656,8 @@ namespace OTSIncAReportGrids
                         keyValues.Add("Electrical_conductivity", table["str36"].ToString());
                     }
                 }
-
             }
             keyValues.Add("Element", "Element");
-
             Dictionary<string, string>.Enumerator en = keyValues.GetEnumerator();
             for (int irow = 0; irow < keyValues.Count; irow++)
             {
@@ -711,10 +669,6 @@ namespace OTSIncAReportGrids
                         iconColumn.Name = en.Current.Key;
                         iconColumn.HeaderText = en.Current.Value;
                         dgV_ParticlesDevidePage.Columns.Add(iconColumn);
-                    }
-                    else if (en.Current.Key == "Element")
-                    {
-
                     }
                     else
                     {
@@ -725,7 +679,6 @@ namespace OTSIncAReportGrids
                             dgV_ParticlesDevidePage.Columns[id - 1].Tag = "NumericType";
                         }
                     }
-
                 }
             }
             if (PageSize == -1)
@@ -748,7 +701,6 @@ namespace OTSIncAReportGrids
                 particles.ImportRow(particlesAll.Rows[fi]);
             }
             string particleM = "";
-            //获取需要显示的元素名
             List<string> ElementTypeSort = new List<string>(str_ElementsColName.Split(',').ToList());//去重
             for (int i = 0; i < ElementTypeSort.Count; i++)
             {
@@ -761,13 +713,11 @@ namespace OTSIncAReportGrids
                 int id = dgV_ParticlesDevidePage.Columns.Count;
                 dgV_ParticlesDevidePage.Columns[id - 1].Tag = "NumericType";
             }
-            double jd = 95f / (double)particles.Rows.Count;//计算进度刻度
-
+            double jd = 95f / (double)particles.Rows.Count;
             string filePath = result.FilePath + "\\FIELD_FILES\\";
             KeyValuePair<string, Bitmap> FieldImage = new KeyValuePair<string, Bitmap>();
             for (int i = 0; i < particles.Rows.Count; i++)
             {
-                //更新进度,每100条记录加载完,更新一次进度
                 if (i % 10 == 0)
                     m_frm_userprogress.SetProgressValueAndText((int)(jd * i), "loading..");
 
@@ -780,10 +730,6 @@ namespace OTSIncAReportGrids
                 {
                     if (enl.MoveNext())
                     {
-                        if (enl.Current.Key == "rowid")
-                        {
-                            //dgV_ParticlesDevidePage.Rows[add_rowindex].Cells[k].Value = i + 1;
-                        }
                         if (enl.Current.Key == "ParticleImage")
                         {
                             if (particles.Columns.Contains("SubParticles"))
@@ -826,7 +772,6 @@ namespace OTSIncAReportGrids
                                     string imagePath = filePath + "Field" + particles.Rows[i]["fieldid"].ToString() + ".bmp";
                                     FieldImage = new KeyValuePair<string, Bitmap>(particles.Rows[i]["fieldid"].ToString(), Particledata.ReadImageFile(imagePath));
                                 }
-
                                 Rectangle rectangle = new Rectangle() { X = Convert.ToInt32(particles.Rows[i]["RectLeft"]), Y = Convert.ToInt32(particles.Rows[i]["RectTop"]), Width = Convert.ToInt32(particles.Rows[i]["RectWidth"]), Height = Convert.ToInt32(particles.Rows[i]["RectHeight"]) };
                                 Bitmap bmap = Particledata.GetBitmapByParticle(FieldImage.Value, rectangle);
                                 bmap.Tag = new List<string>() { particles.Rows[i]["FieldId"].ToString(), particles.Rows[i]["ParticleId"].ToString(), particles.Rows[i]["TypeId"].ToString(), particles.Rows[i]["XrayId"].ToString() };
@@ -887,6 +832,8 @@ namespace OTSIncAReportGrids
                         }
                         if (enl.Current.Key == "TypeName")
                         {
+
+
                             if (particles.Rows[i]["TypeId"].ToString() == "9")
                             {
                                 dgV_ParticlesDevidePage.Rows[add_rowindex].Cells[k].Value = "Not Identified";
@@ -926,7 +873,6 @@ namespace OTSIncAReportGrids
             //加载完成,关闭进度条
             m_frm_userprogress.Close();
             #endregion
-
             dgV_ParticlesDevidePage.Visible = true;
         }
 
@@ -983,16 +929,9 @@ namespace OTSIncAReportGrids
         public static Point CalculateParticleCenterPosition(ResultFile resultFile, Point SEMPos, Point ParticlePos)
         {
             Point point = new Point();
-            //Dictionary<string, object> sampleMembers = ((Dictionary<string, object>)((Dictionary<string, object>)resultFile.ResultInfo["Sample"])["Members"]);
-            //Dictionary<string, object> imageScanParam = (Dictionary<string, object>)((Dictionary<string, object>)((Dictionary<string, object>)sampleMembers["MsrParams"])["Members"])["ImageScanParam"];
-            //Dictionary<string, object> SEMDataMsr = (Dictionary<string, object>)sampleMembers["SEMDataMsr"];
-            //Dictionary<string, object> SEMStageData = (Dictionary<string, object>)resultFile.ResultInfo["SEMStageData"];
             float ScanFieldSizeX = resultFile.GetScanFieldSizeX();
             string leftOrRight = resultFile.GetXAxisDir();
             string downOrUp = resultFile.GetYAxisDir();
-            //string ImageResolution = imageScanParam["ImageResolution"].ToString();
-            //int width = resultFile.GetImageWidth();
-            //int height = resultFile.GetImageHeight();
             float ScanFieldSizeY = resultFile.GetScanFieldSizeY();
             float m_pixelSize = resultFile.GetPixelSize();
             if (leftOrRight == "RIGHT_TOWARD")
@@ -1696,7 +1635,6 @@ namespace OTSIncAReportGrids
             string str_path_FIELD_FILES = str_resultPath + "\\FIELD_FILES\\";
             string str_path_FIELD_FILES_MARK = str_resultPath + "\\FIELD_FILES_MARK\\";
             int intQuantity = 0;
-            //List<string> vs = new List<string>();
             dt_FIeld = new DataTable();
             vs = new List<string>();
             ////判断是否已经有导出过的标记帧图文件夹,如果已经存在,则直接返回不输出,先不加
@@ -1824,7 +1762,7 @@ namespace OTSIncAReportGrids
                 }
 
             }
-            //
+            
             GC.Collect();
             GC.WaitForPendingFinalizers();
         }
@@ -2121,7 +2059,7 @@ namespace OTSIncAReportGrids
                 List<Particle> list_Part = new List<Particle>();
                 for (int ii = 0; ii < dgV_ParticlesDevidePage.SelectedRows.Count; ii++)
                 {
-                    //从事先加载的Bitmap对象的Tag中取出List<string>
+                    
                     DataGridViewRow dgvr = dgV_ParticlesDevidePage.SelectedRows[ii];
                     Bitmap ls_bp = (Bitmap)dgvr.Cells[2].Value;
                     List<string> list_str = (List<string>)ls_bp.Tag;
@@ -2247,7 +2185,6 @@ namespace OTSIncAReportGrids
             {
                 file.CopyTo(targetPath, true);
             }
-
             return true;
         }
         private void DisplayData()
@@ -2320,10 +2257,9 @@ namespace OTSIncAReportGrids
 
             int gauge = RulerSelection(ScanFieldSizeX);
             float RulerPixels = gauge / PixelSize;
-            //查找该field下对应所有的颗粒
             DataTable dt_AllParticle = fieldData.GetAllParticle_DataTable();
-
             DirectoryInfo theFolder = new DirectoryInfo(str_path_FIELD_FILES);
+
             if (theFolder.Exists)
             {
                 DataTable dt = new DataTable();
@@ -2338,11 +2274,9 @@ namespace OTSIncAReportGrids
                     {
                         if (nextifile.Name.Contains(".bmp") == true || nextifile.Name.Contains(".BMP") == true)
                         {
-                            //确认对应的帧图名
                             string str_fieldid = Path.GetFileNameWithoutExtension(nextifile.Name);
                             str_fieldid = str_fieldid.Substring(5, str_fieldid.Length - 5);//减去field字符长度
                             bool bl = false;
-
                             if (str_fieldid == max_list[i].ToString())
                             {
                                 bl = true;
@@ -2361,7 +2295,6 @@ namespace OTSIncAReportGrids
                                     }
                                 }
                                 dr["cunt"] = drcunt;
-                                //dr["cunt"] = dataTable.Select(" fieldid = " + str_fieldid).Count();
                                 dr["fieldName"] = nextifile.Name;
                                 dr["fieldFullName"] = nextifile.FullName;
                                 dr["id"] = str_fieldid;
@@ -2380,7 +2313,6 @@ namespace OTSIncAReportGrids
                     for (int ia = 0; ia < dataTable.Rows.Count; ia++)
                         if (Convert.ToInt32(dt_FIeld.Rows[i]["id"]) == Convert.ToInt32(dataTable.Rows[ia]["fieldid"]))
                             drCount++;
-                    //if (dataTable.Select(dt_FIeld.Rows[i]["fieldid"].ToString()).Count() > 0)
                         if (drCount > 0)
                         {
                         vs.Add(dt_FIeld.Rows[i]["id"].ToString());
@@ -2429,21 +2361,17 @@ namespace OTSIncAReportGrids
                             {
                                 ls_offsetx = offset_rect.X - 10;
                             }
-
-                            g.DrawString(dt_FIeld.Rows[i]["id"].ToString() + "" + str_particleid.ToString(),
-                                new Font("黑体", 8), new SolidBrush(Color.Aqua), new PointF(ls_offsetx, offset_rect.Y));
+                            g.DrawString(dt_FIeld.Rows[i]["id"].ToString() + "" + str_particleid.ToString(),new Font("黑体", 8), new SolidBrush(Color.Aqua), new PointF(ls_offsetx, offset_rect.Y));
+                            
+                            
                             var bitmap = DrawRuler(ls_fieldbp, (int)(RulerPixels/2), 2, (gauge/2).ToString()+ "μm");
                             dt_FIeld.Rows[i]["Field_pic"] = bitmap;
-                            //bitmap.Save("D:\\图片\\asd.bmp");
-
-
                         }
 
                     }
                 }
 
             }
-            //
             GC.Collect();
             GC.WaitForPendingFinalizers();
         }
@@ -2600,7 +2528,6 @@ namespace OTSIncAReportGrids
                             if (str[1] != ""&&double.Parse(str[1]) != 0)  //咨询demo后,元素含量返回值为零时一般去除此元素
                             {ele.Add(str[0]);}
                         }
-                    
                 }
             }
             foreach(var el in ele)
@@ -2613,11 +2540,6 @@ namespace OTSIncAReportGrids
             }
             m_particlesGridDevidePageShowConfig = new ParticlesGridDevidePageShowConfig(m_ReportApp.m_RptConfigFile.Systype, elementsstr);
                 m_particlesGridDevidePageShowConfig.ShowDialog();
-            //}
-            //else
-            //{
-            //    m_particlesGridDevidePageShowConfig.Activate();
-            //}
             if (m_particlesGridDevidePageShowConfig.DialogResult == DialogResult.OK)
             {
                 dgV_ParticlesDevidePage.Rows.Clear();
@@ -2681,17 +2603,12 @@ namespace OTSIncAReportGrids
                     DataGridViewRow dgvr = SelectRows[0];
                     Bitmap ls_bp = (Bitmap)dgvr.Cells[2].Value;
                     List<string> list_str = (List<string>)ls_bp.Tag;
-
-
-                    //显示xray相关信息
                     uint[] Search_xray = new uint[2000];
                     uint[] Analysis_xray = new uint[2000];
                     int i_xray_id = 0;
                     List<Element> list_celementchemistryclr = new List<Element>();
-                    //获取Xray数据
                     ReportFun.GetXrayByParticleTagIDAndFieldID_ForDrawDistrbutionImageAndBSE(Convert.ToInt32(dgvr.Cells["particleId"].Value), Convert.ToInt32(dgvr.Cells["fieldid"].Value), out Search_xray, out Analysis_xray, out i_xray_id, out list_celementchemistryclr);
 
-                    //get CElementChemistryClr list
                     List<ShowElementInfo> list_showelementinfo = new List<ShowElementInfo>();
                     for (int i = 0; i < list_celementchemistryclr.Count; i++)
                     {
@@ -2723,7 +2640,6 @@ namespace OTSIncAReportGrids
                     }
                     control_XRayTable1.SetParticleInfo("Area:" + Math.Round(particle.Area, 2) + "  " + "DMAX:" + Math.Round(particle.DMAX, 2) +"  " + "DELONG:" + Math.Round(particle.DELONG, 2) + "  " + "DFERET:" + Math.Round(particle.DFERET, 2) + "  " + "DINSCR:" + Math.Round(particle.DINSCR, 2) + "\n" + "DMEAN:" + Math.Round(particle.DMEAN, 2) + "  " + "DMIN:" + Math.Round(particle.DMIN, 2) + "  " + "DPERP:" + Math.Round(particle.DPERP, 2) + "  " + "ORIENTATION:" + Math.Round(particle.ORIENTATION, 2) + "  " + "PERIMETER:" + Math.Round(particle.PERIMETER, 2));
 
-                    //获取数据后,需要对xraytable设置
                     control_XRayTable1.Visible = true;
                     control_XRayTable1.SetXRayShowLineValue(null, Analysis_xray, list_showelementinfo);
                     //颗粒国标信息
@@ -2762,7 +2678,6 @@ namespace OTSIncAReportGrids
                     }
                 }
                 SaveParticleslist_select();
-
             }
         }
 
@@ -2815,7 +2730,6 @@ namespace OTSIncAReportGrids
                 }
 
                 UpdateTable();
-
                 lnkFirst_Click(null, null);
                 SetDataGridViewStyle();
             }

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

@@ -312,6 +312,27 @@ namespace OTSIncAReportApp
                     data.TabIndex = DisplayPicutureType.AnalyzeDataTable;
 
                     data.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeDataTable);
+                    var sampleData3 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE];
+                    if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO)
+                    {
+                        for (int i = 0; i < data.ConditionItemList.Count; i++)
+                        {
+                            if (data.ConditionItemList[i].iItemId == OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)
+                            {
+                                if (data.ConditionItemList[i].itemDisplayVal.ToString().Contains("+"))
+                                {
+                                    data.ConditionItemList[i].itemDisplayVal = data.ConditionItemList[i].comboDownList[0].ToString();
+                                    data.ConditionItemList[i].itemVal = 0;
+                                    m_rstDataMgr.SetWorkingResultId((int)data.ConditionItemList[i].itemVal);
+                                }
+                                else
+                                {
+                                    m_rstDataMgr.SetWorkingResultId((int)data.ConditionItemList[i].itemVal);
+                                }
+
+                            }
+                        }
+                    }
                     break;
                 case DisplayPicutureType.AnalyzeDataChart:
                   
@@ -452,9 +473,8 @@ namespace OTSIncAReportApp
 
                 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE];
                 list.Add(sampleData);
-             
 
-                //数据表类型
+                
                 var sampleData3 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE];
             
                 
@@ -723,7 +743,7 @@ namespace OTSIncAReportApp
                             m_ReportApp.m_TablesWindow.Activate();
                             break;
                         case CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO:
-                            if (m_ReportApp.im_ParticlesGridDevidePage != null && m_ReportApp.im_ParticlesGridDevidePage.FileName == m_fileName&&!m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.WhetherThereAreDeleteParticles())
+                            if (m_ReportApp.im_ParticlesGridDevidePage != null && m_ReportApp.im_ParticlesGridDevidePage.FileName == m_fileName&&(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE==null||!m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.WhetherThereAreDeleteParticles()))
                             {
                                 m_ReportApp.m_TablesWindow.Controls.Clear();
                                 m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesGridDevidePage);

+ 0 - 3
OTSIncAReportApp/1-UI/OTSTreeViewData/OTSTreeViewData.cs

@@ -58,12 +58,10 @@ namespace OTSIncAReportApp.OTSDataMgrFunction
                 {
                     for (int i = 0; i < ResultFileList.Count; i++)
                     {
-                        //从底层获取到测量结果的名称
                         string SampleName = ResultFileList[i].anotherFileName;
                         TreeNode node = new TreeNode();
                         node.Text = SampleName;
                         node.Tag = ResultFileList[i].FilePath.ToString();
-                        //将获取到的测量结果名称,添加到树控件上
                         m_RstWindow.treeView1.Nodes.Add(node);
                         node.NodeFont = new Font("宋体", 10, FontStyle.Regular);
                     }
@@ -99,7 +97,6 @@ namespace OTSIncAReportApp.OTSDataMgrFunction
             m_RstWindow.treeView1.ExpandAll();    //展开Treeview 树形节点
             m_RstWindow.treeView1.Refresh();
             m_RstWindow.treeView1.Scrollable = true;
-
             m_RstWindow.Refresh();//刷新一下,防止在加载功能模块时界面卡住树控件会显示出根节点
         }