using OTS.WinFormsUI.Docking; using OTSIncAReportApp.OTSRstMgrFunction; using OTSIncAReportApp.OTSSampleReportInfo; using OTSIncAReportApp.SysMgrTools; using OTSIncAReportGB; using OTSIncAReportGrids; using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; using static OTSDataType.otsdataconst; namespace OTSIncAReportApp { /// /// 属性Grid窗体 /// public partial class frmReportConditionChoose : DockContent { #region 变量定义 public frmReportApp m_ReportApp = null; public ResultDataMgr m_rstDataMgr; /// /// 属性Grid对象,全局变量 /// public OTSSourceGrid m_sourceGrid = null; /// /// 记录当前标签索引 /// public DisplayPicutureType tabIndex = 0; public ReportCondition m_conditionData = new ReportCondition(); //current displayed condition item public Dictionary m_CurrentConditions;//record all the conditions that user has selected or set. //国际化存储信息 Hashtable resTable; #endregion #region 构造函数 /// /// 构造函数 /// /// public frmReportConditionChoose(frmReportApp ReportApp) { InitializeComponent(); m_ReportApp = ReportApp; m_sourceGrid = new OTSSourceGrid(this); m_rstDataMgr = ReportApp.m_rstDataMgr; #region 国际化语言 Language lan = new Language(this); resTable = lan.GetNameTable(this.Name); m_CurrentConditions = new Dictionary(); #endregion } #endregion private void AddGridData(OTS_REPORT_PROP_GRID_ITEMS ID,string name, OTS_ITEM_TYPES ValType,bool ReadOnly,string DescriptionInfo,object DisplayVal,List DownList,object itemVal) { ConditionItem sampleData = new ConditionItem(); sampleData.iItemId = ID; sampleData.sSCaptionName = name; sampleData.iItemValType = ValType; sampleData.bReadOnly = ReadOnly; sampleData.sDescriptionInfo = DescriptionInfo; sampleData.itemDisplayVal = DisplayVal; sampleData.comboDownList = DownList; if(itemVal!=null) sampleData.itemVal = itemVal; m_CurrentConditions.Add(ID, sampleData); } public List GetSampleListName() { List ret_list = new List(); var resultfileList = m_ReportApp.m_rstDataMgr.ResultFilesList; foreach (var item in resultfileList) { ret_list.Add(item.anotherFileName); } if (m_ReportApp.MoreSource != "") { ret_list.Add(m_ReportApp.MoreSource); } return ret_list; } public void SetDefaultConditionValue() { m_CurrentConditions.Clear(); //image condition items. #region 从xml文档中读取的数据信息 string resultData = resTable["sscaptionname1"].ToString();//测量结果数据 string graphicDisplayMode = resTable["sscaptionname3"].ToString();//测量图显示方式 string distributionMap = resTable["sscaptionname14"].ToString();//颗粒分布图 string arrangementDiagram = resTable["sscaptionname15"].ToString();//颗粒排列图 string particleDisplayMode = resTable["sscaptionname2"].ToString();//颗粒显示方式 string particleClassDiagram = resTable["sscaptionname13"].ToString();//颗粒分类图 string whole = resTable["sscaptionname16"].ToString();//全部 string analyticalParticle = resTable["sscaptionname17"].ToString();//分析颗粒 string custom = resTable["sscaptionname18"].ToString();//自定义 string particleSize = resTable["sscaptionname5"].ToString();//粒级 string minimumParticle = resTable["sscaptionname6"].ToString();//最小颗粒 string maximumParticle = resTable["sscaptionname7"].ToString();//最大颗粒 string arrangementMode = resTable["sscaptionname22"].ToString();//排列方式 string sortByType = resTable["sscaptionname20"].ToString();//按类型排列 string arrangeBySize = resTable["sscaptionname21"].ToString();//按尺寸排列 string dimensionCalculationMethod = resTable["sscaptionname8"].ToString();//尺寸计算法 string dataTableType = resTable["sscaptionname10"].ToString();//数据表类型 string surveyResults = resTable["sscaptionname25"].ToString();//测量结果概况 string sampleMeasurementInformation = resTable["sscaptionname26"].ToString(); //样品测量信息 string granularComponent= resTable["sscaptionname27"].ToString();//颗粒成分 string particleSizeDistribution= resTable["sscaptionname29"].ToString();//颗粒尺寸分布 string averageElementComposition= resTable["sscaptionname30"].ToString();//平均元素成分 string ternaryPhaseDiagram = resTable["sscaptionname12"].ToString();//三元相图 string bseOriginal = resTable["bseoriginal"].ToString();//BSE原图 string classifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示 string originalSplicing = resTable["originalsplicing"].ToString();//原图拼接 string originalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布 string particleSizeTable = resTable["particlesizetable"].ToString();//粒级表 string chineseStandard1 = resTable["chinesestandard1"].ToString();//国标方法一 string chineseStandard2 = resTable["chinesestandard2"].ToString();//国标方法二 string americanStandard = resTable["americanstandard"].ToString();//美标 string germanStandard = resTable["germanstandard"].ToString();//德标 string yb6156 = resTable["yb6156"].ToString();//行标6156 string commonClassification = resTable["commonclassification"].ToString();//常用夹杂物分类 string allParticles = resTable["sscaptionname23"].ToString();//全部颗粒 string selectParticles = resTable["selectparticles"].ToString();//选择颗粒 string otherParticles = resTable["otherparticles"].ToString(); ;//其它颗粒 string MergeParticles = resTable["mergeparticles"].ToString(); ;//合成颗粒 string dataSourceType = resTable["datasourcetype"].ToString();//数据源类型 string InclusionAreaRatio = resTable["inclusionarearatio"].ToString();//夹杂物面积比 string InitialRatingLevel = resTable["initialratinglevel"].ToString();//起评级别 #endregion //测量结果数据源 List list_source_str = GetSampleListName(); AddGridData(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE, resultData, OTS_ITEM_TYPES.COMBO, false, "Select Measurement Result", list_source_str[m_rstDataMgr.GetWorkingResultId()], list_source_str, m_rstDataMgr.GetWorkingResultId()); //数据源类型,全部 or selected List list_sourcetype = new List() { allParticles}; AddGridData(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE, dataSourceType, OTS_ITEM_TYPES.COMBO, false, "data source type", list_sourcetype[(int)DATASOURCE_TYPE.ALL], list_sourcetype, DATASOURCE_TYPE.ALL); //测量图类别 分布图 or 排列图 List list1 = new List() { distributionMap, arrangementDiagram }; AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE, graphicDisplayMode, OTS_ITEM_TYPES.COMBO, false, "image display mode", list1[0], list1, IMAGE_DISPLAY_TYPE.DISTRIBUTION); AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, particleDisplayMode, OTS_ITEM_TYPES.COMBO, false, "distribution image Type", bseOriginal, new List() { bseOriginal, classifiedDisplay, originalSplicing, originalDistribution }, DISTRIBUTION_IMAGE_SHOW_MODE.BSE); var DefaultPartSize = m_rstDataMgr.GetDefaultPartSize(); //粒级表 List list_partsizelist = m_rstDataMgr.GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件 AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, particleSizeTable, OTS_ITEM_TYPES.COMBO, false, "Particle Table", DefaultPartSize, list_partsizelist, list_partsizelist.IndexOf(DefaultPartSize)); //粒级 List sizeList = new List(); sizeList = m_rstDataMgr.GetPartSizeList();//获取粒级后额外增加全部,自定义,选项 sizeList.Insert(0, whole);//全部 sizeList.Insert(1, custom);//自定义 AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS, particleSize, OTS_ITEM_TYPES.COMBO, false, "Grain Size", sizeList[0], sizeList, 0); //自定义最小 AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN, minimumParticle, OTS_ITEM_TYPES.DOUBLE, false, "Smallest Particle", "0", new List { }, null); //自定义最大 AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX, maximumParticle, OTS_ITEM_TYPES.DOUBLE, false, "Maximum Particle", "0", new List { }, null); //排列图显示类别 List list3 = new List() { 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); var DefaultSIZE_CAL_METHOD_TYPE=m_rstDataMgr.GetDefaultSIZE_CAL_METHOD_TYPE(); int ind = 0; switch (DefaultSIZE_CAL_METHOD_TYPE) { case "CIRCLE": ind = (int)SIZE_CAL_METHOD_TYPE.CIRCLE; break; case "DFERET": ind = (int)SIZE_CAL_METHOD_TYPE.DFERET; break; case "DMAX": ind = (int)SIZE_CAL_METHOD_TYPE.DMAX; break; case "DMIN": ind = (int)SIZE_CAL_METHOD_TYPE.DMIN; break; default: ind = 0; break; } //计算方式 AddGridData(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, dimensionCalculationMethod, OTS_ITEM_TYPES.COMBO, false, "image property calculation method", DefaultSIZE_CAL_METHOD_TYPE, m_rstDataMgr.GetSizeCalMethodTypeList(), ind); //数据表类型 List list2 = new List() { surveyResults, sampleMeasurementInformation, granularComponent, particleSizeDistribution, averageElementComposition }; ResultFile resultinfo = m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResultId()]; var Systype = RptConfigFile.GetRptConfig().Systype; if (Systype == OTS_SysType_ID.IncA) { string[] aa = m_ReportApp.Text.Split('-'); List listStd = new List() { chineseStandard1, chineseStandard2, americanStandard, germanStandard, yb6156 }; list2.AddRange(listStd); } AddGridData(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE, dataTableType, OTS_ITEM_TYPES.COMBO, false, "Data table type", list2[0], list2, CALCULATE_TABLE_TYPE.MEASURE_INFO); // chart condition items List list22 = new List() { commonClassification, granularComponent, particleSizeDistribution, ternaryPhaseDiagram, InclusionAreaRatio }; AddGridData(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, dataTableType, OTS_ITEM_TYPES.COMBO, false, "Data graph type", list22[0], list22, CALCULATE_CHART_TYPE.COMMON_FIVE); var DefaultTRIO_CHART_TYPE = m_rstDataMgr.GetDefaultTRIO_CHART_TYPE(); //三元相图模板 List trio_listname = m_rstDataMgr.GetTriTemplateNameList(); AddGridData(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE, ternaryPhaseDiagram, OTS_ITEM_TYPES.COMBO, false, "Ternary phase diagram", DefaultTRIO_CHART_TYPE, trio_listname, trio_listname.IndexOf(DefaultTRIO_CHART_TYPE)); //颗粒分类ID List stdlistname = m_rstDataMgr.GetSTDIdList(); if(stdlistname.Contains("Invalid")) { stdlistname.Remove("Invalid"); } if (stdlistname.Contains("LowCounts")) { stdlistname.Remove("LowCounts"); } AddGridData(OTS_REPORT_PROP_GRID_ITEMS.STD_ID, "ClassifyId", OTS_ITEM_TYPES.COMBO, false, "std list", stdlistname[0], stdlistname, null); //颗粒列表数据类型 List list_PARTICE_LIST = new List() { analyticalParticle, otherParticles, MergeParticles, allParticles }; AddGridData(OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST, dataSourceType, OTS_ITEM_TYPES.COMBO, false, "data source type", list_PARTICE_LIST[0], list_PARTICE_LIST, 0); } #region 属性Grid相关方法 public void ShowsTheDefaultPic() { try { if (m_rstDataMgr. ResultFilesList.Count > 0) { ShowDataDiagram(tabIndex); } } catch (Exception ex) { //日记记录 string str = ex.ToString(); } } /// /// 添加属性Grid相关数据 /// public void DisCurrentPicProperty() { //获取工作样品属性 if (!GetWorkingPictureConditionVal()) { return; } //添加属性Grid相关数据 DisProperyWindow(); } /// /// 接收 MeasureApp 发送的样品属性数据,通过Grid显示在properyWindow上 /// /// public void DisProperyWindow() { // 当点击事件响应结束后,将之前点击的行数和列数清0,避免选择工作样品重新赋值响应CELL值改变事件 PropGrid.Show(); m_sourceGrid.m_ClickRow = 0; m_sourceGrid.m_ClickColumn = 0; if (PropGrid.Rows.Count() > 0) { PropGrid.Rows.Clear(); PropGrid.Redim(OTSSourceGrid.m_Const_Grid_Row, OTSSourceGrid.m_Const_Grid_Column); } m_sourceGrid.InitGrid(); m_sourceGrid.ShowGeneralGrid(m_conditionData); } public bool GetWorkingPictureConditionVal() { //var tabindex = this.tabIndex; if (m_rstDataMgr.GetWorkingResultId() == -1) { return false; } if (m_CurrentConditions.Count == 0) { SetDefaultConditionValue(); } ReportCondition data = new ReportCondition(); switch (this.tabIndex) { case DisplayPicutureType.AnalyzeImg: data.TabIndex = DisplayPicutureType.AnalyzeImg; m_rstDataMgr.ResultFilesList.Count(); data.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeImg); 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.AnalyzeDataTable: 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); m_ReportApp.m_StandardLibrary.DataRefresh(); } else { m_rstDataMgr.SetWorkingResultId((int)data.ConditionItemList[i].itemVal); m_ReportApp.m_StandardLibrary.DataRefresh(); } } } } break; case DisplayPicutureType.AnalyzeDataChart: data.TabIndex = DisplayPicutureType.AnalyzeDataChart; data.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeDataChart); break; default: break; } m_conditionData = data; return true; } /// /// 初始化加载sourceGrid各项 /// /// /// SampleData1 private List GetSourceGridData(DisplayPicutureType tbindex) { string BSEOriginal = resTable["bseoriginal"].ToString();//BSE原图 string ClassifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示 string OriginalSplicing = resTable["originalsplicing"].ToString();//原图拼接 string OriginalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布 List list = new List(); ConditionItem sampleData; if (tbindex == DisplayPicutureType.AnalyzeImg)//分布图页 { //测量结果数据源 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE]; list.Add(sampleData); //测量图类别 分布图 or 排列图 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE]; list.Add(sampleData); //图像显示方式 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE]; if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE].itemVal == (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION) { sampleData.comboDownList = new List() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution };//bse,颗粒分类图 list.Add(sampleData); if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.BSE || (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED|| (int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE].itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.ORIGINALCLASSIFIED) { //粒级表 var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE]; m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString(); list.Add(sampleData_partsizefile); //粒级 var sampleData4 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS]; list.Add(sampleData4); if ((int)sampleData4.itemVal == (int)GRAIN_SIZE_CLASS.USERDEFINE) { //自定义最小 var sampleData41 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN]; list.Add(sampleData41); //自定义最大 var sampleData42 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX]; list.Add(sampleData42); } else if ((int)sampleData4.itemVal > (int)GRAIN_SIZE_CLASS.USERDEFINE) { string min = sampleData4.itemDisplayVal.ToString().Split('~')[0]; string max = sampleData4.itemDisplayVal.ToString().Split('~')[1]; var sampleData41 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN]; sampleData41.itemDisplayVal = min; list.Add(sampleData41); //自定义最大 var sampleData42 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX]; sampleData42.itemDisplayVal = max; list.Add(sampleData42); } //尺寸计算方式 var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE]; list.Add(sampleData5); //all particle types var stditm = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.STD_ID]; list.Add(stditm); } } else { sampleData.comboDownList = new List() { BSEOriginal, ClassifiedDisplay };//bse,颗粒分类图 list.Add(sampleData); //排列图类别 var sampleData6 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGEGRID_DIS_TYPE]; list.Add(sampleData6); if ((int)sampleData6.itemVal == (int)IMAGEGRID_DIS_TYPE.PARTICALE_SIZE_TYPE) { //粒级表 var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE]; m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString(); list.Add(sampleData_partsizefile); //尺寸计算方式 var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE]; list.Add(sampleData5); } } } else if (tbindex == DisplayPicutureType.AnalyzeDataTable)//Grid表格页 { //测量结果数据源 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]; if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_SIZE_DISTRIBUTION ) { //粒级表 var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE]; m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile= sampleData_partsizefile.itemDisplayVal.ToString(); list.Add(sampleData_partsizefile); //尺寸计算方法 var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE]; list.Add(sampleData5); var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE]; list.Insert(1, sampleData1); } if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_COMP) { //尺寸计算方法 var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE]; list.Add(sampleData5); var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE]; list.Insert(1, sampleData1); } if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO) { var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.PARTICE_LIST]; list.Insert(1, sampleData1); } if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.AVE_ELEMENT_COMP) { var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE]; list.Insert(1, sampleData1); } list.Add(sampleData3); } else if (tbindex == DisplayPicutureType.AnalyzeDataChart)//Chart图页 { //测量结果数据源 sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE]; list.Add(sampleData); var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE]; list.Add(sampleData1); //数据图类型 var sampleData3 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE]; list.Add(sampleData3); if ((int)sampleData3.itemVal == (int)CALCULATE_CHART_TYPE.PARTICALE_SIZE_DISTRIBUTION) { //粒级表 var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE]; m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString(); list.Add(sampleData_partsizefile); //尺寸计算方法 var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE]; list.Add(sampleData5); } else if ((int)sampleData3.itemVal == (int)CALCULATE_CHART_TYPE.TRIO_CHART) { //三元相图模板 var sampleData15 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE]; list.Add(sampleData15); //粒级表 var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE]; m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString(); list.Add(sampleData_partsizefile); //尺寸计算方法 var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE]; list.Add(sampleData5); } } return list; } /// /// 根据样品属性 显示对应的图表 /// /// 标签索引 /// 属性中选择的图表名称 public void ShowDataDiagram(DisplayPicutureType tabindex) { int sourceid = 0; sourceid =(int) m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemVal; var prop = m_conditionData; String m_fileName=m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString(); #region 对各窗体模块进行实际加载的代码 switch (tabindex) { //分析图 case DisplayPicutureType.AnalyzeImg://第一页选项窗体,分析图 m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeImg); IMAGE_DISPLAY_TYPE display =(IMAGE_DISPLAY_TYPE) prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE); if (display == IMAGE_DISPLAY_TYPE.DISTRIBUTION) { //分布图对象为空,或当前显示的与在测量结果中选择的不匹配,则重新加载 if (null != m_ReportApp.im_Control_DrawDistrbutionImageAndBSE) { if (m_fileName != m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName) { m_ReportApp.im_Control_DrawDistrbutionImageAndBSE = null; //如果已经不是原先的数据源,则需要重新加载,设定为空,后面重新加载 } } //不需重新加载,则加载条件 if (m_ReportApp.im_Control_DrawDistrbutionImageAndBSE != null) { m_ReportApp.m_SImageWindow.Controls.Clear(); m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DataSourceID = sourceid; m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = m_fileName; m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill; m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE); ConditionItem imgType = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE]; //切换分布图显示方式 DISTRIBUTION_IMAGE_SHOW_MODE t = (DISTRIBUTION_IMAGE_SHOW_MODE)imgType.itemVal; m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.SetShowMode(t); m_ReportApp.m_SImageWindow.Activate(); if (t == DISTRIBUTION_IMAGE_SHOW_MODE.BSE || t == DISTRIBUTION_IMAGE_SHOW_MODE.CLASSIFIED|| t == DISTRIBUTION_IMAGE_SHOW_MODE.ORIGINALCLASSIFIED) { m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(m_conditionData); } } else if (m_ReportApp.im_Control_DrawDistrbutionImageAndBSE == null) { m_ReportApp.m_SImageWindow.Controls.Clear(); m_ReportApp.im_Control_DrawDistrbutionImageAndBSE = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionImageAndBSE(m_ReportApp); m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DataSourceID = sourceid; m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = m_fileName; m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill; m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE); m_ReportApp.m_SImageWindow.Activate(); m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(m_conditionData); m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.FullGraphMatch(); } } else { //排列图为空,或与在测量结果中选择的名字不一致时,则重新加载 if (null != m_ReportApp.im_Control_DrawDistrbutionSortImage) { if (m_fileName != m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName) { //如果已经不是原先的数据源,则需要重新加载,设定为空,后面重新加载 m_ReportApp.im_Control_DrawDistrbutionSortImage = null; 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]); GetWorkingPictureConditionVal(); DisCurrentPicProperty(); ShowDataDiagram(tabIndex); return; } } //不需重新加载,则加载条件 if (m_ReportApp.im_Control_DrawDistrbutionSortImage != null) { m_ReportApp.m_SImageWindow.Controls.Clear(); m_ReportApp.im_Control_DrawDistrbutionSortImage.DataSourceID = sourceid; m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName = m_fileName; m_ReportApp.im_Control_DrawDistrbutionSortImage.Dock = DockStyle.Fill; m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionSortImage); m_ReportApp.m_SImageWindow.Activate(); m_ReportApp.im_Control_DrawDistrbutionSortImage.GetDistrbutionSortimage_ByQuery(m_CurrentConditions); //判断当前点击测量结果中的数据源名,是否与已经加载的排序图显示的数据源名相同 if (m_fileName == m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName) { ConditionItem itm =m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE]; //切换BSE和分类,两种影像的显示方式 if ((int)itm.itemVal == (int)DISTRIBUTION_IMAGE_SHOW_MODE.BSE) { m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowMode(false); } else { m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowMode(true); } return; } } else if (m_ReportApp.im_Control_DrawDistrbutionSortImage == null) { m_ReportApp.m_SImageWindow.Controls.Clear(); m_ReportApp.im_Control_DrawDistrbutionSortImage = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionSortImage(m_ReportApp); m_ReportApp.im_Control_DrawDistrbutionSortImage.DataSourceID = sourceid; m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName = m_fileName; m_ReportApp.im_Control_DrawDistrbutionSortImage.Dock = DockStyle.Fill; m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionSortImage); m_ReportApp.m_SImageWindow.Activate(); m_ReportApp.im_Control_DrawDistrbutionSortImage.GetDistrbutionSortimage_ByQuery(m_CurrentConditions); } } break; //分析数据表 case DisplayPicutureType.AnalyzeDataTable: #region 第二页选项窗体,分析数据表 m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeDataTable); CALCULATE_TABLE_TYPE TableType = (CALCULATE_TABLE_TYPE)prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE); switch (TableType) { case CALCULATE_TABLE_TYPE.MEASURE_INFO: m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_ResultGrid = new ResultGrid(m_ReportApp); m_ReportApp.im_ResultGrid.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ResultGrid); m_ReportApp.m_TablesWindow.Activate(); m_ReportApp.m_StandardLibrary.DataRefresh(); 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==null||!m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.WhetherThereAreDeleteParticles())) { m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesGridDevidePage); m_ReportApp.m_TablesWindow.Activate(); } else { m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_ParticlesGridDevidePage = new OTSIncAReportGrids.ParticlesGridDevidePage(m_ReportApp); m_ReportApp.im_ParticlesGridDevidePage.FileName = m_fileName; m_ReportApp.im_ParticlesGridDevidePage.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesGridDevidePage); m_ReportApp.m_TablesWindow.Activate(); } break; case CALCULATE_TABLE_TYPE.PARTICALE_COMP: m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_CompositionDistributionGrid = new CompositionDistributionGrid(m_ReportApp); m_ReportApp.im_CompositionDistributionGrid.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_CompositionDistributionGrid); m_ReportApp.m_TablesWindow.Activate(); break; case CALCULATE_TABLE_TYPE.PARTICALE_SIZE_DISTRIBUTION://颗粒尺寸分布表 m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_ParticlesSizeGrid = new ParticlesSizeGrid(m_ReportApp); m_ReportApp.im_ParticlesSizeGrid.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesSizeGrid); m_ReportApp.m_TablesWindow.Activate(); break; case CALCULATE_TABLE_TYPE.AVE_ELEMENT_COMP: m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_ElementCompositionAvgGrid = new ElementCompositionAvgGrid(m_ReportApp); m_ReportApp.im_ElementCompositionAvgGrid.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ElementCompositionAvgGrid); m_ReportApp.m_TablesWindow.Activate(); break; case CALCULATE_TABLE_TYPE.GB_Method1: var sou = m_ReportApp.m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString(); if (sou.Contains("+")) { MessageBox.Show("This function does not support multiple samples!"); return; } //国标一 Cursor.Current = Cursors.WaitCursor; int index = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++) { string anothername = m_ReportApp.m_rstDataMgr.ResultFilesList[i].anotherFileName.ToString(); string resultfile = m_ReportApp.m_rstDataMgr.ResultFilesList[i].FilePath.ToString() + "\\" + m_ReportApp.m_rstDataMgr.ResultFilesList[i].FileName_real.ToString(); m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile, anothername); } OTSCLRINTERFACE.CPropParamClr clr_prop = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable(); List datasourcelist = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); clr_prop.SetDataSourceList(datasourcelist); clr_prop.SetDataSourceId(index);// clr_prop.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table clr_prop.SetCalTableType((int)CALCULATE_TABLE_TYPE.GB_Method1);//国标1 List listGriddataclr = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop);// m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_ChineseStandardABCDDS = new ChineseStandardABCDDS(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr); m_ReportApp.im_ChineseStandardABCDDS.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ChineseStandardABCDDS); m_ReportApp.im_ChineseStandardABCDDS.UseWaitCursor = false; Cursor.Current = Cursors.Default; m_ReportApp.m_TablesWindow.Activate(); break; case CALCULATE_TABLE_TYPE.GB_Method2: var sou1 = m_ReportApp.m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString(); if (sou1.Contains("+")) { MessageBox.Show("This function does not support multiple samples!"); return; } //国标二 Cursor.Current = Cursors.WaitCursor; int index2 = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++) { string anothername = m_ReportApp.m_rstDataMgr.ResultFilesList[i].anotherFileName.ToString(); string resultfile2 = m_ReportApp.m_rstDataMgr.ResultFilesList[i].FilePath.ToString() + "\\" + m_ReportApp.m_rstDataMgr.ResultFilesList[i].FileName_real.ToString(); m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile2, anothername); } OTSCLRINTERFACE.CPropParamClr clr_prop2 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable(); List datasourcelist2 = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); clr_prop2.SetDataSourceList(datasourcelist2); clr_prop2.SetDataSourceId(index2);// clr_prop2.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table clr_prop2.SetCalTableType((int)CALCULATE_TABLE_TYPE.GB_Method2);//国标2 List listGriddataclr2 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop2);// m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_NationalStandardMethodTwo = new NationalStandardMethodTwo(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr2); m_ReportApp.im_NationalStandardMethodTwo.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_NationalStandardMethodTwo); Cursor.Current = Cursors.WaitCursor; m_ReportApp.m_TablesWindow.Activate(); break; case CALCULATE_TABLE_TYPE.ASTM: var Val = m_ReportApp.m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString(); if (Val.Contains("+")) { MessageBox.Show("This function does not support multiple samples!"); return; } //美标 Cursor.Current = Cursors.WaitCursor; int index3 = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++) { string anothername = m_ReportApp.m_rstDataMgr.ResultFilesList[i].anotherFileName.ToString(); string resultfile3 = m_ReportApp.m_rstDataMgr.ResultFilesList[i].FilePath.ToString() + "\\" + m_ReportApp.m_rstDataMgr.ResultFilesList[i].FileName_real.ToString(); m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile3, anothername); } OTSCLRINTERFACE.CPropParamClr clr_prop3 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable(); List datasourcelist3 = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); clr_prop3.SetDataSourceList(datasourcelist3); clr_prop3.SetDataSourceId(index3);// clr_prop3.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table clr_prop3.SetCalTableType((int)CALCULATE_TABLE_TYPE.ASTM); List listGriddataclr3 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop3); m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_ASTMStandardABCDDS = new ASTMStandardABCDDS(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr3); m_ReportApp.im_ASTMStandardABCDDS.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ASTMStandardABCDDS); Cursor.Current = Cursors.Default; m_ReportApp.m_TablesWindow.Activate(); break; case CALCULATE_TABLE_TYPE.DIN: var ite = m_ReportApp.m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString(); if (ite.Contains("+")) { MessageBox.Show("This function does not support multiple samples!"); return; } //德标 Cursor.Current = Cursors.WaitCursor; int index4 = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++) { string anothername = m_ReportApp.m_rstDataMgr.ResultFilesList[i].anotherFileName.ToString(); string resultfile4 = m_ReportApp.m_rstDataMgr.ResultFilesList[i].FilePath.ToString() + "\\" + m_ReportApp.m_rstDataMgr.ResultFilesList[i].FileName_real.ToString(); m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile4, anothername); } OTSCLRINTERFACE.CPropParamClr clr_prop4 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable(); List datasourcelist4 = new List(); datasourcelist4.Add(m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)[index4]); clr_prop4.SetDataSourceList(datasourcelist4); clr_prop4.SetDataSourceId(index4);// clr_prop4.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table clr_prop4.SetCalTableType((int)CALCULATE_TABLE_TYPE.DIN); List listGriddataclr4 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop4); m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_DINStandardABCDDS = new DINStandardABCDDS(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr4); m_ReportApp.im_DINStandardABCDDS.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_DINStandardABCDDS); Cursor.Current = Cursors.Default; m_ReportApp.m_TablesWindow.Activate(); break; case CALCULATE_TABLE_TYPE.YB6156: var eve = m_ReportApp.m_conditionChoose.m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString(); //if (!eve.Contains("+")) //{ // MessageBox.Show("This standard requires at least 6 measurements!"); // return; //} //德标 Cursor.Current = Cursors.WaitCursor; int index5 = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); for (int i = 0; i < m_ReportApp.m_rstDataMgr.ResultFilesList.Count; i++) { string anothername = m_ReportApp.m_rstDataMgr.ResultFilesList[i].anotherFileName.ToString(); string resultfile5 = m_ReportApp.m_rstDataMgr.ResultFilesList[i].FilePath.ToString() + "\\" + m_ReportApp.m_rstDataMgr.ResultFilesList[i].FileName_real.ToString(); m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile5, anothername); } OTSCLRINTERFACE.CPropParamClr clr_prop5 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable(); List datasourcelist5 = m_ReportApp.m_conditionChoose.m_conditionData.GetComboDownListByItemName(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE); clr_prop5.SetDataSourceList(datasourcelist5); clr_prop5.SetDataSourceId(index5);// clr_prop5.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table clr_prop5.SetCalTableType((int)CALCULATE_TABLE_TYPE.YB6156); List listGriddataclr5 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop5); m_ReportApp.m_TablesWindow.Controls.Clear(); m_ReportApp.im_YB6156ABCD = new YB6156ABCD(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr5); m_ReportApp.im_YB6156ABCD.Dock = DockStyle.Fill; m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_YB6156ABCD); Cursor.Current = Cursors.Default; m_ReportApp.m_TablesWindow.Activate(); break; } #endregion 第二页选项窗体,分析数据表 break; //分析数据图 case DisplayPicutureType.AnalyzeDataChart: m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeDataChart); #region 第三页选项窗体,分析数据图 m_ReportApp.m_ChartsWindow.Controls.Clear(); string m_reportname = ""; string m_str_AxisY = ""; string str_operatonmodule = ""; CALCULATE_CHART_TYPE ChartType = (CALCULATE_CHART_TYPE)prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE); switch (ChartType) { case CALCULATE_CHART_TYPE.COMMON_FIVE: m_reportname = resTable["m_reportname1"].ToString();//常用夹杂物分类 m_str_AxisY = resTable["m_str_axisy1"].ToString(); str_operatonmodule = resTable["str_operatonmodule1"].ToString(); m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.DEVChart_ParticlesComposition(m_ReportApp, "CommonlyUsedClassify"); m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill; m_ReportApp.m_reportname = m_reportname; m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY; m_ReportApp.type = "pie"; m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition); m_ReportApp.m_ChartsWindow.Activate(); break; case CALCULATE_CHART_TYPE.PARTICALE_COMP: m_reportname = resTable["m_reportname2"].ToString();//颗粒成分 m_str_AxisY = resTable["m_str_axisy2"].ToString();//颗粒数 str_operatonmodule = resTable["str_operatonmodule2"].ToString();//颗粒成分图 m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.DEVChart_ParticlesComposition(m_ReportApp, "PComponent"); m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill; m_ReportApp.m_reportname = m_reportname; m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY; m_ReportApp.type = "pie"; m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition); m_ReportApp.m_ChartsWindow.Activate(); break; case CALCULATE_CHART_TYPE.PARTICALE_SIZE_DISTRIBUTION://颗粒尺寸分布图 m_reportname = resTable["m_reportname4"].ToString();//颗粒尺寸分布 m_str_AxisY = resTable["m_str_axisy4"].ToString();//颗粒数 str_operatonmodule = resTable["str_operatonmodule4"].ToString();//颗粒尺寸分布图 m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.DEVChart_ParticlesComposition(m_ReportApp, "PSize"); m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill; m_ReportApp.m_reportname = m_reportname; m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY; m_ReportApp.type = "pie"; m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition); m_ReportApp.m_ChartsWindow.Activate(); break; case CALCULATE_CHART_TYPE.TRIO_CHART: int index = prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE); str_operatonmodule = resTable["str_operatonmodule5"].ToString(); m_ReportApp.im_EChart_Trianglediagram = new Control_ECharts.DEVChart_Trianglediagram(m_ReportApp); m_ReportApp.im_EChart_Trianglediagram.Template = ""; m_ReportApp.im_EChart_Trianglediagram.Dock = DockStyle.Fill; m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_Trianglediagram); m_ReportApp.m_ChartsWindow.Activate(); break; case CALCULATE_CHART_TYPE.INCLUSION_AREA_RATIO: m_reportname = resTable["incaareascale"].ToString(); m_str_AxisY = "平方微米"; m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.DEVChart_ParticlesComposition(m_ReportApp, "InclusionareaRatio"); m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill; m_ReportApp.m_reportname = m_reportname; m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY; m_ReportApp.type = "pie"; m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition); m_ReportApp.m_ChartsWindow.Activate(); break; } #endregion 第三页窗体,分析数据图 break; } #endregion } #endregion #region 属性Grid相关事件 /// /// 属性Grid点击事件 /// /// /// private void PropGrid_Click_1(object sender, EventArgs e) { SourceGrid.Grid ls_gd = (SourceGrid.Grid)sender; ls_gd.Focus(); m_sourceGrid.m_ClickRow = ls_gd.Selection.ActivePosition.Row; m_sourceGrid.m_ClickColumn = ls_gd.Selection.ActivePosition.Column; } /// /// 主窗体大小改变时,同时改变属性Grid的大小事件 /// /// /// private void OTSPropertyWindow_Resize(object sender, EventArgs e) { if (null != m_sourceGrid) { m_sourceGrid.m_PropWindow_X = this.Width; m_sourceGrid.InitGridTitlet(); } } #endregion } }