frmReportConditionChoose.cs 52 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923
  1. using OTS.WinFormsUI.Docking;
  2. using OTSCommon.Model;
  3. using OTSIncAReportApp.OTSDataMgrFunction;
  4. using OTSIncAReportApp.OTSSampleReportInfo;
  5. using OTSIncAReportApp.SysMgrTools;
  6. using OTSIncAReportGB;
  7. using OTSIncAReportGrids;
  8. using System;
  9. using System.Collections;
  10. using System.Collections.Generic;
  11. using System.Linq;
  12. using System.Windows.Forms;
  13. namespace OTSIncAReportApp
  14. {
  15. /// <summary>
  16. /// 属性Grid窗体
  17. /// </summary>
  18. public partial class frmReportConditionChoose : DockContent
  19. {
  20. #region 变量定义
  21. public frmReportApp m_ReportApp = null;
  22. public ResultDataMgr m_rstDataMgr;
  23. /// <summary>
  24. /// 属性Grid对象,全局变量
  25. /// </summary>
  26. public OTSSourceGrid m_ConditionGrid = null;
  27. /// <summary>
  28. /// 记录当前标签索引
  29. /// </summary>
  30. public DisplayPicutureType tabIndex = 0;
  31. public ReportCondition m_SourceGridData = new ReportCondition(); //current displayed condition item
  32. public Dictionary<OTS_REPORT_PROP_GRID_ITEMS, ConditionItem> m_CurrentConditions;//record all the conditions that user selected or seted.
  33. //国际化存储信息
  34. Hashtable resTable;
  35. #endregion
  36. #region 构造函数
  37. /// <summary>
  38. /// 构造函数
  39. /// </summary>
  40. /// <param name="ReportApp"></param>
  41. public frmReportConditionChoose(frmReportApp ReportApp)
  42. {
  43. InitializeComponent();
  44. m_ReportApp = ReportApp;
  45. m_ConditionGrid = new OTSSourceGrid(this);
  46. m_rstDataMgr = ReportApp.m_rstDataMgr;
  47. #region 国际化语言
  48. Language lan = new Language(this);
  49. resTable = lan.GetNameTable(this.Name);
  50. m_CurrentConditions = new Dictionary<OTS_REPORT_PROP_GRID_ITEMS, ConditionItem>();
  51. #endregion
  52. }
  53. #endregion
  54. private void AddGridData(OTS_REPORT_PROP_GRID_ITEMS ID,string name, OTS_ITEM_TYPES ValType,bool ReadOnly,string DescriptionInfo,object DisplayVal,List<string> DownList,object itemVal)
  55. {
  56. ConditionItem sampleData = new ConditionItem();
  57. sampleData.iItemId = ID;
  58. sampleData.sSCaptionName = name;
  59. sampleData.iItemValType = ValType;
  60. sampleData.bReadOnly = ReadOnly;
  61. sampleData.sDescriptionInfo = DescriptionInfo;
  62. sampleData.itemDisplayVal = DisplayVal;
  63. sampleData.comboDownList = DownList;
  64. if(itemVal!=null)
  65. sampleData.itemVal = itemVal;
  66. m_CurrentConditions.Add(ID, sampleData);
  67. //return sampleData;
  68. }
  69. public void SetDefaultConditionValue()
  70. {
  71. m_CurrentConditions.Clear();
  72. //image condition items.
  73. #region 从xml文档中读取的数据信息
  74. string resultData = resTable["sscaptionname1"].ToString();//测量结果数据
  75. string graphicDisplayMode = resTable["sscaptionname3"].ToString();//测量图显示方式
  76. string distributionMap = resTable["sscaptionname14"].ToString();//颗粒分布图
  77. string arrangementDiagram = resTable["sscaptionname15"].ToString();//颗粒排列图
  78. string particleDisplayMode = resTable["sscaptionname2"].ToString();//颗粒显示方式
  79. string particleClassDiagram = resTable["sscaptionname13"].ToString();//颗粒分类图
  80. string whole = resTable["sscaptionname16"].ToString();//全部
  81. string analyticalParticle = resTable["sscaptionname17"].ToString();//分析颗粒
  82. string custom = resTable["sscaptionname18"].ToString();//自定义
  83. string particleSize = resTable["sscaptionname5"].ToString();//粒级
  84. string minimumParticle = resTable["sscaptionname6"].ToString();//最小颗粒
  85. string maximumParticle = resTable["sscaptionname7"].ToString();//最大颗粒
  86. string arrangementMode = resTable["sscaptionname22"].ToString();//排列方式
  87. string sortByType = resTable["sscaptionname20"].ToString();//按类型排列
  88. string arrangeBySize = resTable["sscaptionname21"].ToString();//按尺寸排列
  89. string dimensionCalculationMethod = resTable["sscaptionname8"].ToString();//尺寸计算法
  90. string dataTableType = resTable["sscaptionname10"].ToString();//数据表类型
  91. string surveyResults = resTable["sscaptionname25"].ToString();//测量结果概况
  92. string sampleMeasurementInformation = resTable["sscaptionname26"].ToString(); //样品测量信息
  93. string granularComponent= resTable["sscaptionname27"].ToString();//颗粒成分
  94. string particleSizeDistribution= resTable["sscaptionname29"].ToString();//颗粒尺寸分布
  95. string averageElementComposition= resTable["sscaptionname30"].ToString();//平均元素成分
  96. string ternaryPhaseDiagram = resTable["sscaptionname12"].ToString();//三元相图
  97. string bseOriginal = resTable["bseoriginal"].ToString();//BSE原图
  98. string classifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示
  99. string originalSplicing = resTable["originalsplicing"].ToString();//原图拼接
  100. string originalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布
  101. string particleSizeTable = resTable["particlesizetable"].ToString();//粒级表
  102. string chineseStandard1 = resTable["chinesestandard1"].ToString();//国标方法一
  103. string chineseStandard2 = resTable["chinesestandard2"].ToString();//国标方法二
  104. string americanStandard = resTable["americanstandard"].ToString();//美标
  105. string germanStandard = resTable["germanstandard"].ToString();//德标
  106. string commonClassification = resTable["commonclassification"].ToString();//常用夹杂物分类
  107. string allParticles = resTable["particlesanalyzed"].ToString();//已分析颗粒
  108. string selectParticles = resTable["selectparticles"].ToString();//选择颗粒
  109. string otherParticles = resTable["otherparticles"].ToString(); ;//其它颗粒
  110. string dataSourceType = resTable["datasourcetype"].ToString();//数据源类型
  111. string InclusionAreaRatio = resTable["inclusionarearatio"].ToString();//夹杂物面积比
  112. #endregion
  113. //测量结果数据源
  114. List<string> list_source_str = m_rstDataMgr.GetSampleListName();
  115. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE, resultData, OTS_ITEM_TYPES.COMBO, false, "Select Measurement Result", list_source_str[m_rstDataMgr.GetWorkingResult()], list_source_str, m_rstDataMgr.GetWorkingResult());
  116. //数据源类型,全部 or selected
  117. List<string> list_sourcetype = new List<string>() { allParticles, selectParticles, otherParticles };
  118. 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);
  119. //测量图类别 分布图 or 排列图
  120. List<string> list1 = new List<string>() { distributionMap, arrangementDiagram };
  121. 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);
  122. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, particleDisplayMode, OTS_ITEM_TYPES.COMBO, false, "distribution image Type", bseOriginal, new List<string>() { bseOriginal, classifiedDisplay, originalSplicing, originalDistribution }, IMAGE_TYPE.BSE);
  123. //粒级表
  124. List<string> list_partsizelist = m_rstDataMgr.GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件
  125. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, particleSizeTable, OTS_ITEM_TYPES.COMBO, false, "Particle Table", list_partsizelist[0], list_partsizelist, 0);
  126. //粒级
  127. List<string> sizeList = new List<string>();
  128. sizeList = m_rstDataMgr.GetPartSizeList();//获取粒级后额外增加全部,自定义,选项
  129. sizeList.Insert(0, whole);//全部
  130. sizeList.Insert(1, custom);//自定义
  131. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS, particleSize, OTS_ITEM_TYPES.COMBO, false, "Grain Size", sizeList[0], sizeList, 0);
  132. //自定义最小
  133. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN, minimumParticle, OTS_ITEM_TYPES.DOUBLE, false, "Smallest Particle", "0", new List<string> { }, null);
  134. //自定义最大
  135. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX, maximumParticle, OTS_ITEM_TYPES.DOUBLE, false, "Maximum Particle", "0", new List<string> { }, null);
  136. //排列图显示类别
  137. List<string> list3 = new List<string>() { sortByType, arrangeBySize };
  138. 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);
  139. //计算方式
  140. 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);
  141. //数据表类型
  142. List<string> list2 = new List<string>() { surveyResults, sampleMeasurementInformation, granularComponent, particleSizeDistribution, averageElementComposition };
  143. if (m_rstDataMgr.m_RptConfigFile.Systype == OTS_SysType_ID.IncA)
  144. {
  145. string[] aa = m_ReportApp.Text.Split('-');
  146. List<string> listStd = new List<string>() { chineseStandard1, chineseStandard2, americanStandard, germanStandard };
  147. list2.AddRange(listStd);
  148. }
  149. 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);
  150. // chart condition items
  151. List<string> list22 = new List<string>() { commonClassification, granularComponent, particleSizeDistribution, ternaryPhaseDiagram, InclusionAreaRatio };
  152. 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);
  153. //三元相图模板
  154. List<string> trio_listname = m_rstDataMgr.GetTriTemplateNameList();
  155. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE, ternaryPhaseDiagram, OTS_ITEM_TYPES.COMBO, false, "Ternary phase diagram", trio_listname.First(), trio_listname, null);
  156. //颗粒分类ID
  157. List<string> stdlistname = m_rstDataMgr.GetSTDIdList();
  158. AddGridData(OTS_REPORT_PROP_GRID_ITEMS.STD_ID, "ClassifyId", OTS_ITEM_TYPES.COMBO, false, "std list", stdlistname[0], stdlistname, null);
  159. }
  160. #region 属性Grid相关方法
  161. public void ShowsTheDefaultPic()
  162. {
  163. try
  164. {
  165. if (m_rstDataMgr. ResultFilesList.Count > 0)
  166. {
  167. ShowDataDiagram(tabIndex);
  168. }
  169. }
  170. catch (Exception ex)
  171. {
  172. //日记记录
  173. string str = ex.ToString();
  174. }
  175. }
  176. /// <summary>
  177. /// 添加属性Grid相关数据
  178. /// </summary>
  179. public void DisCurrentPicProperty()
  180. {
  181. //ReportCondition SMInfo = new ReportCondition();
  182. //获取工作样品属性
  183. if (!GetWorkingPictureConditionVal())
  184. {
  185. return;
  186. }
  187. //添加属性Grid相关数据
  188. DisProperyWindow();
  189. }
  190. /// <summary>
  191. /// 接收 MeasureApp 发送的样品属性数据,通过Grid显示在properyWindow上
  192. /// </summary>
  193. /// <param name="SampleInfo"></param>
  194. private void DisProperyWindow()
  195. {
  196. // 当点击事件响应结束后,将之前点击的行数和列数清0,避免选择工作样品重新赋值响应CELL值改变事件
  197. PropGrid.Show();
  198. m_ConditionGrid.m_ClickRow = 0;
  199. m_ConditionGrid.m_ClickColumn = 0;
  200. if (PropGrid.Rows.Count() > 0)
  201. {
  202. PropGrid.Rows.Clear();
  203. PropGrid.Redim(OTSSourceGrid.m_Const_Grid_Row, OTSSourceGrid.m_Const_Grid_Column);
  204. }
  205. m_ConditionGrid.InitGrid();
  206. m_ConditionGrid.ShowGeneralGrid(m_SourceGridData);
  207. }
  208. public bool GetWorkingPictureConditionVal()
  209. {
  210. //var tabindex = this.tabIndex;
  211. if (m_rstDataMgr.GetWorkingResult() == -1)
  212. {
  213. return false;
  214. }
  215. if (m_CurrentConditions.Count == 0)
  216. {
  217. SetDefaultConditionValue();
  218. }
  219. ReportCondition data = new ReportCondition();
  220. switch (this.tabIndex)
  221. {
  222. case DisplayPicutureType.AnalyzeImg:
  223. data.TabIndex = DisplayPicutureType.AnalyzeImg;
  224. m_rstDataMgr.ResultFilesList.Count();
  225. data.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeImg);
  226. for (int i = 0; i < data.ConditionItemList.Count; i++)
  227. {
  228. if (data.ConditionItemList[i].iItemId == OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)
  229. {
  230. if (data.ConditionItemList[i].itemDisplayVal.ToString().Contains("+"))
  231. {
  232. data.ConditionItemList[i].itemDisplayVal = data.ConditionItemList[i].comboDownList[0].ToString();
  233. data.ConditionItemList[i].itemVal = 0;
  234. m_rstDataMgr.SetWorkingResult((int)data.ConditionItemList[i].itemVal);
  235. }
  236. else
  237. {
  238. m_rstDataMgr.SetWorkingResult((int)data.ConditionItemList[i].itemVal);
  239. }
  240. }
  241. }
  242. break;
  243. case DisplayPicutureType.AnalyzeDataTable:
  244. data.TabIndex = DisplayPicutureType.AnalyzeDataTable;
  245. data.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeDataTable);
  246. break;
  247. case DisplayPicutureType.AnalyzeDataChart:
  248. data.TabIndex = DisplayPicutureType.AnalyzeDataChart;
  249. data.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeDataChart);
  250. break;
  251. default:
  252. break;
  253. }
  254. m_SourceGridData = data;
  255. //SMeasureInfo = data;
  256. return true;
  257. }
  258. /// <summary>
  259. /// 初始化加载sourceGrid各项
  260. /// </summary>
  261. /// <param name="tbindex"></param>
  262. /// <returns></returns>SampleData1
  263. private List<ConditionItem> GetSourceGridData(DisplayPicutureType tbindex)
  264. {
  265. string BSEOriginal = resTable["bseoriginal"].ToString();//BSE原图
  266. string ClassifiedDisplay = resTable["classifieddisplay"].ToString();//分类显示
  267. string OriginalSplicing = resTable["originalsplicing"].ToString();//原图拼接
  268. string OriginalDistribution = resTable["originaldistribution"].ToString();//原图颗粒分布
  269. List<ConditionItem> list = new List<ConditionItem>();
  270. ConditionItem sampleData;
  271. if (tbindex == DisplayPicutureType.AnalyzeImg)//分布图页
  272. {
  273. //测量结果数据源
  274. sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE];
  275. list.Add(sampleData);
  276. //m_ReportApp.m_rstDataMgr.SetWorkingResult((int)sampleData.itemVal);
  277. //测量图类别 分布图 or 排列图
  278. sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE];
  279. list.Add(sampleData);
  280. //图像显示方式
  281. sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE];
  282. if ((int)m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE].itemVal == (int)IMAGE_DISPLAY_TYPE.DISTRIBUTION)
  283. {
  284. sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay, OriginalSplicing, OriginalDistribution };//bse,颗粒分类图
  285. list.Add(sampleData);
  286. //粒级表
  287. var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE];
  288. m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString();
  289. list.Add(sampleData_partsizefile);
  290. //粒级
  291. var sampleData4 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS];
  292. list.Add(sampleData4);
  293. if ((int)sampleData4.itemVal == (int)GRAIN_SIZE_CLASS.USERDEFINE)
  294. {
  295. //自定义最小
  296. var sampleData41 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN];
  297. list.Add(sampleData41);
  298. //自定义最大
  299. var sampleData42 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX];
  300. list.Add(sampleData42);
  301. }
  302. else if ((int)sampleData4.itemVal > (int)GRAIN_SIZE_CLASS.USERDEFINE)
  303. {
  304. string min = sampleData4.itemDisplayVal.ToString().Split('~')[0];
  305. string max = sampleData4.itemDisplayVal.ToString().Split('~')[1];
  306. var sampleData41 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN];
  307. sampleData41.itemDisplayVal = min;
  308. list.Add(sampleData41);
  309. //自定义最大
  310. var sampleData42 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX];
  311. sampleData42.itemDisplayVal = max;
  312. list.Add(sampleData42);
  313. }
  314. //尺寸计算方式
  315. var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE];
  316. list.Add(sampleData5);
  317. //all particle types
  318. var stditm = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.STD_ID];
  319. list.Add(stditm);
  320. }
  321. else
  322. {
  323. sampleData.comboDownList = new List<string>() { BSEOriginal, ClassifiedDisplay };//bse,颗粒分类图
  324. list.Add(sampleData);
  325. //排列图类别
  326. var sampleData6 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGEGRID_DIS_TYPE];
  327. list.Add(sampleData6);
  328. if ((int)sampleData6.itemVal == (int)IMAGEGRID_DIS_TYPE.PARTICALE_SIZE_TYPE)
  329. {
  330. //粒级表
  331. var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE];
  332. m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString();
  333. list.Add(sampleData_partsizefile);
  334. //尺寸计算方式
  335. var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE];
  336. list.Add(sampleData5);
  337. }
  338. }
  339. }
  340. else if (tbindex == DisplayPicutureType.AnalyzeDataTable)//Grid表格页
  341. {
  342. //测量结果数据源
  343. sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE];
  344. list.Add(sampleData);
  345. //m_ReportApp.m_rstDataMgr.SetWorkingResult((int)sampleData.itemVal);
  346. //数据表类型
  347. var sampleData3 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE];
  348. //list.Add(sampleData3);
  349. if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_SIZE_DISTRIBUTION )
  350. {
  351. //粒级表
  352. var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE];
  353. m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile= sampleData_partsizefile.itemDisplayVal.ToString();
  354. list.Add(sampleData_partsizefile);
  355. //尺寸计算方法
  356. var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE];
  357. list.Add(sampleData5);
  358. var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
  359. //list.Add(sampleData1);
  360. list.Insert(1, sampleData1);
  361. }
  362. if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_COMP)
  363. {
  364. //尺寸计算方法
  365. var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE];
  366. list.Add(sampleData5);
  367. var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
  368. //list.Add(sampleData1);
  369. list.Insert(1, sampleData1);
  370. }
  371. if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO)
  372. {
  373. var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
  374. //list.Add(sampleData1);
  375. list.Insert(1, sampleData1);
  376. }
  377. if ((int)sampleData3.itemVal == (int)CALCULATE_TABLE_TYPE.AVE_ELEMENT_COMP)
  378. {
  379. var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
  380. //list.Add(sampleData1);
  381. list.Insert(1, sampleData1);
  382. }
  383. list.Add(sampleData3);
  384. }
  385. else if (tbindex == DisplayPicutureType.AnalyzeDataChart)//Chart图页
  386. {
  387. //测量结果数据源
  388. sampleData = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE];
  389. list.Add(sampleData);
  390. //m_ReportApp.m_rstDataMgr.SetWorkingResult((int)sampleData.itemVal);
  391. var sampleData1 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE];
  392. list.Add(sampleData1);
  393. //数据图类型
  394. var sampleData3 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE];
  395. list.Add(sampleData3);
  396. if ((int)sampleData3.itemVal == (int)CALCULATE_CHART_TYPE.PARTICALE_SIZE_DISTRIBUTION)
  397. {
  398. //粒级表
  399. var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE];
  400. m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString();
  401. list.Add(sampleData_partsizefile);
  402. //尺寸计算方法
  403. var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE];
  404. list.Add(sampleData5);
  405. }
  406. else if ((int)sampleData3.itemVal == (int)CALCULATE_CHART_TYPE.TRIO_CHART)
  407. {
  408. //三元相图模板
  409. var sampleData15 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE];
  410. list.Add(sampleData15);
  411. //粒级表
  412. var sampleData_partsizefile = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE];
  413. m_ReportApp.m_rstDataMgr.m_RptConfigFile.PartSizeFile = sampleData_partsizefile.itemDisplayVal.ToString();
  414. list.Add(sampleData_partsizefile);
  415. //尺寸计算方法
  416. var sampleData5 = m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE];
  417. list.Add(sampleData5);
  418. }
  419. }
  420. return list;
  421. }
  422. /// <summary>
  423. /// 根据样品属性 显示对应的图表
  424. /// </summary>
  425. /// <param name="tabIndex">标签索引</param>
  426. /// <param name="strTableTypeName">属性中选择的图表名称</param>
  427. public void ShowDataDiagram(DisplayPicutureType tabindex)
  428. {
  429. int sourceid = 0;
  430. sourceid =(int) m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemVal;
  431. //sourceid = m_rstDataMgr.GetWorkingResult();
  432. //m_rstDataMgr.SetWorkingResult(sourceid);
  433. //var resultFile = m_rstDataMgr.ResultFilesList[sourceid];
  434. var prop = m_SourceGridData;
  435. //String m_fileName = resultFile.FileName;
  436. String m_fileName=m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE].itemDisplayVal.ToString();
  437. #region 对各窗体模块进行实际加载的代码
  438. switch (tabindex)
  439. {
  440. //分析图
  441. case DisplayPicutureType.AnalyzeImg://第一页选项窗体,分析图
  442. m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeImg);
  443. IMAGE_DISPLAY_TYPE display =(IMAGE_DISPLAY_TYPE) prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  444. if (display == IMAGE_DISPLAY_TYPE.DISTRIBUTION)
  445. {
  446. //分布图对象为空,或当前显示的与在测量结果中选择的不匹配,则重新加载
  447. if (null != m_ReportApp.im_Control_DrawDistrbutionImageAndBSE)
  448. {
  449. if (m_fileName != m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName)
  450. {
  451. //如果已经不是原先的数据源,则需要重新加载,设定为空,后面重新加载
  452. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE = null;
  453. }
  454. }
  455. //不需重新加载,则加载条件
  456. if (m_ReportApp.im_Control_DrawDistrbutionImageAndBSE != null)
  457. {
  458. m_ReportApp.m_SImageWindow.Controls.Clear();
  459. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DataSourceID = sourceid;
  460. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = m_fileName;
  461. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill;
  462. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE);
  463. m_ReportApp.m_SImageWindow.Activate();
  464. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(m_SourceGridData);
  465. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.SetSelectParticle(m_ReportApp.GetSelectedParticles());
  466. ConditionItem imgType =m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE];
  467. //切换分布图显示方式
  468. IMAGE_TYPE t = (IMAGE_TYPE)imgType.itemVal;
  469. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowMode(t);
  470. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.FullGraphMatch();
  471. }
  472. else if (m_ReportApp.im_Control_DrawDistrbutionImageAndBSE == null)
  473. {
  474. m_ReportApp.m_SImageWindow.Controls.Clear();
  475. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionImageAndBSE(m_ReportApp);
  476. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DataSourceID = sourceid;
  477. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = m_fileName;
  478. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill;
  479. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE);
  480. m_ReportApp.m_SImageWindow.Activate();
  481. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(m_SourceGridData);
  482. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.SetSelectParticle(m_ReportApp.GetSelectedParticles());
  483. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.FullGraphMatch();
  484. }
  485. }
  486. else
  487. {
  488. //排列图为空,或与在测量结果中选择的名字不一致时,则重新加载
  489. if (null != m_ReportApp.im_Control_DrawDistrbutionSortImage)
  490. {
  491. if (m_fileName != m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName)
  492. {
  493. //如果已经不是原先的数据源,则需要重新加载,设定为空,后面重新加载
  494. m_ReportApp.im_Control_DrawDistrbutionSortImage = null;
  495. }
  496. }
  497. //不需重新加载,则加载条件
  498. if (m_ReportApp.im_Control_DrawDistrbutionSortImage != null)
  499. {
  500. m_ReportApp.m_SImageWindow.Controls.Clear();
  501. m_ReportApp.im_Control_DrawDistrbutionSortImage.DataSourceID = sourceid;
  502. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName = m_fileName;
  503. m_ReportApp.im_Control_DrawDistrbutionSortImage.Dock = DockStyle.Fill;
  504. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionSortImage);
  505. m_ReportApp.m_SImageWindow.Activate();
  506. m_ReportApp.im_Control_DrawDistrbutionSortImage.GetDistrbutionSortimage_ByQuery(m_CurrentConditions);
  507. m_ReportApp.im_Control_DrawDistrbutionSortImage.SetSelectParticle(m_ReportApp.GetSelectedParticles());
  508. //判断当前点击测量结果中的数据源名,是否与已经加载的排序图显示的数据源名相同
  509. if (m_fileName == m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName)
  510. {
  511. //相同,加载计算条件
  512. m_ReportApp.im_Control_DrawDistrbutionSortImage.SetSelectParticle(m_ReportApp.GetSelectedParticles());
  513. ConditionItem itm =m_CurrentConditions[OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE];
  514. //切换BSE和分类,两种影像的显示方式
  515. if ((int)itm.itemVal == (int)IMAGE_TYPE.BSE)
  516. {
  517. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowMode(false);
  518. }
  519. else
  520. {
  521. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowMode(true);
  522. }
  523. return;
  524. }
  525. }
  526. else if (m_ReportApp.im_Control_DrawDistrbutionSortImage == null)
  527. {
  528. m_ReportApp.m_SImageWindow.Controls.Clear();
  529. m_ReportApp.im_Control_DrawDistrbutionSortImage = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionSortImage(m_ReportApp);
  530. m_ReportApp.im_Control_DrawDistrbutionSortImage.DataSourceID = sourceid;
  531. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName = m_fileName;
  532. m_ReportApp.im_Control_DrawDistrbutionSortImage.Dock = DockStyle.Fill;
  533. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionSortImage);
  534. m_ReportApp.m_SImageWindow.Activate();
  535. m_ReportApp.im_Control_DrawDistrbutionSortImage.GetDistrbutionSortimage_ByQuery(m_CurrentConditions);
  536. m_ReportApp.im_Control_DrawDistrbutionSortImage.SetSelectParticle(m_ReportApp.GetSelectedParticles());
  537. }
  538. }
  539. break;
  540. //分析数据表
  541. case DisplayPicutureType.AnalyzeDataTable:
  542. #region 第二页选项窗体,分析数据表
  543. m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeDataTable);
  544. //idx = m_RstProp.m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp.SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
  545. CALCULATE_TABLE_TYPE TableType = (CALCULATE_TABLE_TYPE)prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
  546. switch (TableType)
  547. {
  548. case CALCULATE_TABLE_TYPE.MEASURE_INFO:
  549. m_ReportApp.m_TablesWindow.Controls.Clear();
  550. m_ReportApp.im_ResultGrid = new ResultGrid(m_ReportApp);
  551. m_ReportApp.im_ResultGrid.Dock = DockStyle.Fill;
  552. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ResultGrid);
  553. m_ReportApp.m_TablesWindow.Activate();
  554. break;
  555. case CALCULATE_TABLE_TYPE.PARTICALE_GENE_INFO:
  556. if (m_ReportApp.im_ParticlesGridDevidePage != null && m_ReportApp.im_ParticlesGridDevidePage.FileName == m_fileName)
  557. {
  558. m_ReportApp.m_TablesWindow.Controls.Clear();
  559. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesGridDevidePage);
  560. m_ReportApp.m_TablesWindow.Activate();
  561. }
  562. else
  563. {
  564. m_ReportApp.m_TablesWindow.Controls.Clear();
  565. m_ReportApp.im_ParticlesGridDevidePage = new OTSIncAReportGrids.ParticlesGridDevidePage(m_ReportApp);
  566. m_ReportApp.im_ParticlesGridDevidePage.FileName = m_fileName;
  567. m_ReportApp.im_ParticlesGridDevidePage.Dock = DockStyle.Fill;
  568. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesGridDevidePage);
  569. m_ReportApp.m_TablesWindow.Activate();
  570. }
  571. break;
  572. case CALCULATE_TABLE_TYPE.PARTICALE_COMP:
  573. m_ReportApp.m_TablesWindow.Controls.Clear();
  574. m_ReportApp.im_CompositionDistributionGrid = new CompositionDistributionGrid(m_ReportApp);
  575. m_ReportApp.im_CompositionDistributionGrid.Dock = DockStyle.Fill;
  576. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_CompositionDistributionGrid);
  577. m_ReportApp.m_TablesWindow.Activate();
  578. break;
  579. case CALCULATE_TABLE_TYPE.PARTICALE_SIZE_DISTRIBUTION://颗粒尺寸分布表
  580. m_ReportApp.m_TablesWindow.Controls.Clear();
  581. m_ReportApp.im_ParticlesSizeGrid = new ParticlesSizeGrid(m_ReportApp);
  582. m_ReportApp.im_ParticlesSizeGrid.Dock = DockStyle.Fill;
  583. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesSizeGrid);
  584. m_ReportApp.m_TablesWindow.Activate();
  585. break;
  586. case CALCULATE_TABLE_TYPE.AVE_ELEMENT_COMP:
  587. m_ReportApp.m_TablesWindow.Controls.Clear();
  588. m_ReportApp.im_ElementCompositionAvgGrid = new ElementCompositionAvgGrid(m_ReportApp);
  589. m_ReportApp.im_ElementCompositionAvgGrid.Dock = DockStyle.Fill;
  590. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ElementCompositionAvgGrid);
  591. m_ReportApp.m_TablesWindow.Activate();
  592. break;
  593. case CALCULATE_TABLE_TYPE.GB_Method1:
  594. //国标一
  595. string resultfile = m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FilePath + "\\"
  596. + m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FileName;
  597. m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile);
  598. OTSCLRINTERFACE.CPropParamClr clr_prop = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable();
  599. clr_prop.SetDataSourceId(0);//
  600. clr_prop.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table
  601. clr_prop.SetCalTableType((int)CALCULATE_TABLE_TYPE.GB_Method1);//国标1
  602. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop);//
  603. m_ReportApp.m_TablesWindow.Controls.Clear();
  604. m_ReportApp.im_ChineseStandardABCDDS = new ChineseStandardABCDDS(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr);
  605. m_ReportApp.im_ChineseStandardABCDDS.Dock = DockStyle.Fill;
  606. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ChineseStandardABCDDS);
  607. m_ReportApp.m_TablesWindow.Activate();
  608. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath+"\\"
  609. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "GB1");
  610. break;
  611. case CALCULATE_TABLE_TYPE.GB_Method2:
  612. //国标二
  613. string resultfile2 = m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FilePath + "\\"
  614. + m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FileName;
  615. m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile2);
  616. OTSCLRINTERFACE.CPropParamClr clr_prop2 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable();
  617. clr_prop2.SetDataSourceId(0);//
  618. clr_prop2.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table
  619. clr_prop2.SetCalTableType((int)CALCULATE_TABLE_TYPE.GB_Method2);//国标2
  620. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr2 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop2);//
  621. m_ReportApp.m_TablesWindow.Controls.Clear();
  622. m_ReportApp.im_NationalStandardMethodTwo = new NationalStandardMethodTwo(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr2);
  623. m_ReportApp.im_NationalStandardMethodTwo.Dock = DockStyle.Fill;
  624. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_NationalStandardMethodTwo);
  625. m_ReportApp.m_TablesWindow.Activate();
  626. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
  627. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "GB2");
  628. break;
  629. case CALCULATE_TABLE_TYPE.ASTM:
  630. //美标
  631. string resultfile3 = m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FilePath + "\\"
  632. + m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FileName;
  633. m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile3);
  634. OTSCLRINTERFACE.CPropParamClr clr_prop3 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable();
  635. clr_prop3.SetDataSourceId(0);//
  636. clr_prop3.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table
  637. clr_prop3.SetCalTableType((int)CALCULATE_TABLE_TYPE.ASTM);
  638. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr3 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop3);
  639. m_ReportApp.m_TablesWindow.Controls.Clear();
  640. m_ReportApp.im_ASTMStandardABCDDS = new ASTMStandardABCDDS(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr3);
  641. m_ReportApp.im_ASTMStandardABCDDS.Dock = DockStyle.Fill;
  642. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ASTMStandardABCDDS);
  643. m_ReportApp.m_TablesWindow.Activate();
  644. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
  645. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "ASTM");
  646. break;
  647. case CALCULATE_TABLE_TYPE.DIN:
  648. //德标
  649. string resultfile4 = m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FilePath + "\\"
  650. + m_rstDataMgr.ResultFilesList[m_rstDataMgr.GetWorkingResult()].FileName;
  651. m_ReportApp.m_rstDataMgr.m_ReportMgr.AddASmplMsrResultMgr(resultfile4);
  652. OTSCLRINTERFACE.CPropParamClr clr_prop4 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GetPropertyParamTable();
  653. clr_prop4.SetDataSourceId(0);//
  654. clr_prop4.SetType((int)DisplayPicutureType.AnalyzeDataTable);//table
  655. clr_prop4.SetCalTableType((int)CALCULATE_TABLE_TYPE.DIN);
  656. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr4 = m_ReportApp.m_rstDataMgr.m_ReportMgr.GridDataTransfer(clr_prop4);
  657. m_ReportApp.m_TablesWindow.Controls.Clear();
  658. m_ReportApp.im_DINStandardABCDDS = new DINStandardABCDDS(m_ReportApp.m_rstDataMgr.m_ReportMgr, listGriddataclr4);
  659. m_ReportApp.im_DINStandardABCDDS.Dock = DockStyle.Fill;
  660. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_DINStandardABCDDS);
  661. m_ReportApp.m_TablesWindow.Activate();
  662. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
  663. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "DIN");
  664. break;
  665. }
  666. #endregion 第二页选项窗体,分析数据表
  667. break;
  668. //分析数据图
  669. case DisplayPicutureType.AnalyzeDataChart:
  670. m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeDataChart);
  671. #region 第三页选项窗体,分析数据图
  672. m_ReportApp.m_ChartsWindow.Controls.Clear();
  673. string m_reportname = "";
  674. string m_str_AxisY = "";
  675. string str_operatonmodule = "";
  676. //idx = m_RstProp. m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp.SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE);
  677. CALCULATE_CHART_TYPE ChartType = (CALCULATE_CHART_TYPE)prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE);
  678. switch (ChartType)
  679. {
  680. case CALCULATE_CHART_TYPE.COMMON_FIVE:
  681. m_reportname = resTable["m_reportname1"].ToString();//常用夹杂物分类
  682. m_str_AxisY = resTable["m_str_axisy1"].ToString();
  683. str_operatonmodule = resTable["str_operatonmodule1"].ToString();
  684. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "CommonlyUsedClassify");
  685. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  686. m_ReportApp.m_reportname = m_reportname;
  687. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  688. m_ReportApp.type = "pie";
  689. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  690. m_ReportApp.m_ChartsWindow.Activate();
  691. break;
  692. case CALCULATE_CHART_TYPE.PARTICALE_COMP:
  693. m_reportname = resTable["m_reportname2"].ToString();//颗粒成分
  694. m_str_AxisY = resTable["m_str_axisy2"].ToString();//颗粒数
  695. str_operatonmodule = resTable["str_operatonmodule2"].ToString();//颗粒成分图
  696. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "PComponent");
  697. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  698. m_ReportApp.m_reportname = m_reportname;
  699. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  700. m_ReportApp.type = "pie";
  701. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  702. m_ReportApp.m_ChartsWindow.Activate();
  703. break;
  704. case CALCULATE_CHART_TYPE.PARTICALE_SIZE_DISTRIBUTION://颗粒尺寸分布图
  705. m_reportname = resTable["m_reportname4"].ToString();//颗粒尺寸分布
  706. m_str_AxisY = resTable["m_str_axisy4"].ToString();//颗粒数
  707. str_operatonmodule = resTable["str_operatonmodule4"].ToString();//颗粒尺寸分布图
  708. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "PSize");
  709. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  710. m_ReportApp.m_reportname = m_reportname;
  711. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  712. m_ReportApp.type = "pie";
  713. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  714. m_ReportApp.m_ChartsWindow.Activate();
  715. break;
  716. case CALCULATE_CHART_TYPE.TRIO_CHART:
  717. //idx = m_RstProp. m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp. SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);
  718. //string TrioChartType = prop.ConditionItemList[idx].itemVal.ToString();
  719. //List<string> nameList = prop.ConditionItemList[idx].comboDownList;
  720. int index = prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);
  721. str_operatonmodule = resTable["str_operatonmodule5"].ToString();
  722. m_ReportApp.im_EChart_Trianglediagram = new Control_ECharts.EChart_Trianglediagram(m_ReportApp);
  723. m_ReportApp.im_EChart_Trianglediagram.Template = "";
  724. m_ReportApp.im_EChart_Trianglediagram.Dock = DockStyle.Fill;
  725. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_Trianglediagram);
  726. m_ReportApp.m_ChartsWindow.Activate();
  727. break;
  728. case CALCULATE_CHART_TYPE.INCLUSION_AREA_RATIO:
  729. m_reportname = resTable["incaareascale"].ToString();
  730. m_str_AxisY = "平方微米";
  731. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "InclusionareaRatio");
  732. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  733. m_ReportApp.m_reportname = m_reportname;
  734. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  735. m_ReportApp.type = "pie";
  736. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  737. m_ReportApp.m_ChartsWindow.Activate();
  738. break;
  739. }
  740. #endregion 第三页窗体,分析数据图
  741. break;
  742. }
  743. #endregion
  744. }
  745. #endregion
  746. #region 属性Grid相关事件
  747. /// <summary>
  748. /// 属性Grid点击事件
  749. /// </summary>
  750. /// <param name="sender"></param>
  751. /// <param name="e"></param>
  752. private void PropGrid_Click_1(object sender, EventArgs e)
  753. {
  754. SourceGrid.Grid ls_gd = (SourceGrid.Grid)sender;
  755. ls_gd.Focus();
  756. m_ConditionGrid.m_ClickRow = ls_gd.Selection.ActivePosition.Row;
  757. m_ConditionGrid.m_ClickColumn = ls_gd.Selection.ActivePosition.Column;
  758. }
  759. /// <summary>
  760. /// 主窗体大小改变时,同时改变属性Grid的大小事件
  761. /// </summary>
  762. /// <param name="sender"></param>
  763. /// <param name="e"></param>
  764. private void OTSPropertyWindow_Resize(object sender, EventArgs e)
  765. {
  766. if (null != m_ConditionGrid)
  767. {
  768. m_ConditionGrid.m_PropWindow_X = this.Width;
  769. m_ConditionGrid.InitGridTitlet();
  770. }
  771. }
  772. #endregion
  773. }
  774. }