frmReportConditionChoose.cs 42 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718
  1. using OTS.WinFormsUI.Docking;
  2. using OTSIncAReportApp.OTSDataMgrFunction;
  3. using OTSIncAReportApp.OTSSampleReportInfo;
  4. using OTSIncAReportApp.SysMgrTools;
  5. using OTSIncAReportGB;
  6. using OTSIncAReportGrids;
  7. using OTSModelSharp.ResourceManage;
  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_DataMgr;
  23. /// <summary>
  24. /// 属性Grid对象,全局变量
  25. /// </summary>
  26. public OTSSourceGrid m_ConditionGrid = null;
  27. /// <summary>
  28. /// 记录当前标签索引
  29. /// </summary>
  30. public DisplayPicutureType tabIndex = 0;
  31. public List<ReportCondition> SourceGridDataList = new List<ReportCondition>(); //所有模块的SourceGrid
  32. public List<ReportCondition> SourceGridDataListLog = new List<ReportCondition>(); //所有模块的SourceGrid使用记录
  33. public ReportCondition SourceGridData = new ReportCondition(); //当前SourceGrid
  34. //国际化存储信息
  35. Hashtable table;
  36. #endregion
  37. #region 构造函数
  38. /// <summary>
  39. /// 构造函数
  40. /// </summary>
  41. /// <param name="ReportApp"></param>
  42. public frmReportConditionChoose(frmReportApp ReportApp)
  43. {
  44. InitializeComponent();
  45. m_ReportApp = ReportApp;
  46. m_ConditionGrid = new OTSSourceGrid(this);
  47. m_DataMgr = ReportApp.m_DataMgrFun;
  48. #region 国际化语言
  49. Language lan = new Language(this);
  50. table = lan.GetNameTable(this.Name);
  51. #endregion
  52. }
  53. #endregion
  54. #region 属性Grid相关方法
  55. public void ShowsTheDefaultPic()
  56. {
  57. try
  58. {
  59. if (m_DataMgr. resultFilesList.Count > 0)
  60. {
  61. ShowDataDiagram(tabIndex);
  62. }
  63. }
  64. catch (Exception ex)
  65. {
  66. //日记记录
  67. string str = ex.ToString();
  68. }
  69. }
  70. /// <summary>
  71. /// 添加属性Grid相关数据
  72. /// </summary>
  73. public void DisCurrentPicProperty()
  74. {
  75. ReportCondition SMInfo = new ReportCondition();
  76. //获取工作样品属性
  77. if (!GetWorkingPictureConditionVal(ref SMInfo))
  78. {
  79. return;
  80. }
  81. //添加属性Grid相关数据
  82. DisProperyWindow(SMInfo);
  83. }
  84. /// <summary>
  85. /// 接收 MeasureApp 发送的样品属性数据,通过Grid显示在properyWindow上
  86. /// </summary>
  87. /// <param name="SampleInfo"></param>
  88. public void DisProperyWindow(ReportCondition SampleInfo)
  89. {
  90. // 当点击事件响应结束后,将之前点击的行数和列数清0,避免选择工作样品重新赋值响应CELL值改变事件
  91. PropGrid.Show();
  92. m_ConditionGrid.m_ClickRow = 0;
  93. m_ConditionGrid.m_ClickColumn = 0;
  94. if (PropGrid.Rows.Count() > 0)
  95. {
  96. PropGrid.Rows.Clear();
  97. PropGrid.Redim(OTSSourceGrid.m_Const_Grid_Row, OTSSourceGrid.m_Const_Grid_Column);
  98. }
  99. m_ConditionGrid.InitGrid();
  100. m_ConditionGrid.ShowGeneralGrid(SampleInfo);
  101. }
  102. public bool GetWorkingPictureConditionVal(ref ReportCondition SMeasureInfo)
  103. {
  104. var tabindex = this.tabIndex;
  105. if (m_DataMgr. WorkingResult == -1)
  106. {
  107. return false;
  108. }
  109. if (SourceGridData.ConditionItemList.Count > 0)
  110. {
  111. ReportCondition a = SourceGridData;
  112. //new
  113. if (a.TSampleRst.List_ShowGrid_Items == null)
  114. {
  115. a.TSampleRst.List_ShowGrid_Items = SourceGridDataListLog[(int)a.TabIndex].TSampleRst.List_ShowGrid_Items;
  116. }
  117. SourceGridDataListLog[(int)a.TabIndex] = a;
  118. ReportCondition b = SourceGridDataListLog[(int)tabindex];
  119. SMeasureInfo.FilterData(b);
  120. SourceGridData = SMeasureInfo;
  121. }
  122. else
  123. {
  124. ReportCondition data = new ReportCondition();
  125. data.TabIndex = DisplayPicutureType.AnalyzeImg;
  126. //data.TSampleParam.sSampleTitleName = ",0,2,3,7,9,10,13,";
  127. data.TSampleRst.List_ShowGrid_Items = new List<OTS_REPORT_PROP_GRID_ITEMS> { OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
  128. OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
  129. OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
  130. //OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE,//7
  131. OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE,//9
  132. OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS,//10
  133. OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE};//13
  134. data.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeImg);
  135. SourceGridDataList.Add(data);
  136. SourceGridDataListLog.Add(data);
  137. ReportCondition data1 = new ReportCondition();
  138. data1.TabIndex = DisplayPicutureType.AnalyzeDataTable;
  139. //data1.TSampleParam.sSampleTitleName = ",0,1,5,";
  140. data1.TSampleRst.List_ShowGrid_Items = new List<OTS_REPORT_PROP_GRID_ITEMS> { OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
  141. OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE,//1
  142. OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE};//5
  143. data1.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeDataTable);
  144. SourceGridDataList.Add(data1);
  145. SourceGridDataListLog.Add(data1);
  146. ReportCondition data2 = new ReportCondition();
  147. data2.TabIndex = DisplayPicutureType.AnalyzeDataChart;
  148. //data2.TSampleParam.sSampleTitleName = ",0,1,6,";
  149. data2.TSampleRst.List_ShowGrid_Items = new List<OTS_REPORT_PROP_GRID_ITEMS> { OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
  150. OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE,//1
  151. OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE };
  152. //,//6
  153. //OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE};//13
  154. data2.ConditionItemList = GetSourceGridData(DisplayPicutureType.AnalyzeDataChart);
  155. SourceGridDataList.Add(data2);
  156. SourceGridDataListLog.Add(data2);
  157. switch (tabindex)
  158. {
  159. case DisplayPicutureType.AnalyzeImg:
  160. SMeasureInfo . FilterData(data);
  161. break;
  162. case DisplayPicutureType.AnalyzeDataTable:
  163. SMeasureInfo . FilterData(data1);
  164. break;
  165. case DisplayPicutureType.AnalyzeDataChart:
  166. SMeasureInfo . FilterData(data2);
  167. break;
  168. }
  169. SourceGridData = SMeasureInfo;
  170. }
  171. return true;
  172. }
  173. private ConditionItem NewGridData(int tbindex, OTS_REPORT_PROP_GRID_ITEMS iItemId, int number, OTS_ITEM_TYPES iItemValType, bool bReadOnly, object itemVal, List<string> comboDownList)
  174. {
  175. string text = "";
  176. string des = "";
  177. string downlist = "";
  178. OTSDataType.XmlResourceData.GetInstance().GetStringByKey(tbindex, number, ref text, ref des, ref downlist);
  179. ConditionItem sampleData = new ConditionItem();
  180. sampleData.iItemId = iItemId;
  181. sampleData.sSCaptionName = text;
  182. sampleData.iItemValType = iItemValType;
  183. sampleData.bReadOnly = bReadOnly;
  184. sampleData.sDescriptionInfo = des;
  185. if (comboDownList.Count == 0)
  186. {
  187. List<string> liststr = new List<string>();
  188. if (downlist != "")
  189. {
  190. string[] arrTemp = downlist.Split(',');
  191. for (int i = 0; i < arrTemp.Count(); i++)
  192. {
  193. liststr.Add(arrTemp[i]);
  194. }
  195. sampleData.itemVal = liststr[0];
  196. sampleData.comboDownList = liststr;
  197. }
  198. else
  199. {
  200. sampleData.itemVal = "0";
  201. sampleData.comboDownList = liststr;
  202. }
  203. }
  204. else
  205. {
  206. sampleData.itemVal = itemVal;
  207. sampleData.comboDownList = comboDownList;
  208. }
  209. return sampleData;
  210. }
  211. /// <summary>
  212. /// 初始化加载sourceGrid各项
  213. /// </summary>
  214. /// <param name="tbindex"></param>
  215. /// <returns></returns>SampleData1
  216. private List<ConditionItem> GetSourceGridData(DisplayPicutureType tbindex)
  217. {
  218. List<ConditionItem> list = new List<ConditionItem>();
  219. if (tbindex == DisplayPicutureType.AnalyzeImg)//分布图页
  220. {
  221. //测量结果数据
  222. List<string> list_source_str = m_DataMgr.GetSampleListName();
  223. list.Add(NewGridData((int)tbindex, 0, ResourceID.Measurement_Result_Data_0, OTS_ITEM_TYPES.COMBO, false, list_source_str[m_DataMgr.WorkingResult], list_source_str));
  224. //测量图类型 bse,颗粒分类图
  225. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, ResourceID.Type_Of_Survey_Drawing_0, OTS_ITEM_TYPES.COMBO, false, "", new List<string>() { }));
  226. //测量图显示方式
  227. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE, ResourceID.Display_mode_Of_Measurement_Diagram_0, OTS_ITEM_TYPES.COMBO, false, "", new List<string>() { }));
  228. //颗粒类型
  229. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE, ResourceID.Particle_Type_0, OTS_ITEM_TYPES.COMBO, false, "", new List<string>() { }));
  230. //粒级表
  231. List<string> list_partsizelist = m_DataMgr.GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件
  232. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, ResourceID.Particle_Size_Table_0, OTS_ITEM_TYPES.COMBO, false, list_partsizelist[0], list_partsizelist));
  233. //粒级
  234. List<string> sizeList = m_DataMgr.GetPartSizeList();//获取粒级后额外增加全部,自定义,选项
  235. sizeList.Insert(0, OTSDataType.XmlResourceData.GetInstance().GetStringByKey((int)tbindex, ResourceID.All_0));//全部
  236. sizeList.Insert(1, OTSDataType.XmlResourceData.GetInstance().GetStringByKey((int)tbindex, ResourceID.custom_0));//自定义
  237. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS, ResourceID.Particle_Size_0, OTS_ITEM_TYPES.COMBO, false, sizeList[0], sizeList));
  238. //自定义最小
  239. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN, ResourceID.Minimum_Particle_0, OTS_ITEM_TYPES.DOUBLE, false, "0", new List<string> { }));
  240. //自定义最大
  241. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX, ResourceID.Maximum_Particle_0, OTS_ITEM_TYPES.DOUBLE, false, "0", new List<string> { }));
  242. //测量数据
  243. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE, ResourceID.measured_Data_0, OTS_ITEM_TYPES.COMBO, false, "", new List<string> { }));
  244. //计算方式
  245. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, ResourceID.Dimension_Calculation_Method_0, OTS_ITEM_TYPES.COMBO, false, m_DataMgr.GetSizeCalMethodTypeList()[0], m_DataMgr.GetSizeCalMethodTypeList()));
  246. }
  247. else if (tbindex == DisplayPicutureType.AnalyzeDataTable)//Grid表格页
  248. {
  249. //测量结果数据
  250. List<string> list_source_str = m_DataMgr.GetSampleListName();
  251. list.Add(NewGridData((int)tbindex, 0, ResourceID.Measurement_Result_Data_1, OTS_ITEM_TYPES.COMBO, false, list_source_str[m_DataMgr.WorkingResult], list_source_str));
  252. //数据类型
  253. List<string> list_datasourcetypelist = m_DataMgr.GetDataSourceTypeList();
  254. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE, ResourceID.data_type_1, OTS_ITEM_TYPES.COMBO, false, list_datasourcetypelist[0], list_datasourcetypelist));
  255. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE, ResourceID.Data_Table_Type_1, OTS_ITEM_TYPES.COMBO, false, "", new List<string> { }));
  256. //粒级表
  257. List<string> list_partsizelist = m_DataMgr.GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件
  258. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, ResourceID.Particle_Size_Table_1, OTS_ITEM_TYPES.COMBO, false, list_partsizelist[0], list_partsizelist));
  259. //尺寸计算方法
  260. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, ResourceID.Dimension_Calculation_Method_1, OTS_ITEM_TYPES.COMBO, false, m_DataMgr.GetSizeCalMethodTypeList()[0], m_DataMgr.GetSizeCalMethodTypeList()));
  261. }
  262. else if (tbindex == DisplayPicutureType.AnalyzeDataChart)//Chart图页
  263. {
  264. //测量结果数据
  265. List<string> list_source_str = m_DataMgr.GetSampleListName();
  266. list.Add(NewGridData((int)tbindex, 0, ResourceID.Measurement_Result_Data_2, OTS_ITEM_TYPES.COMBO, false, list_source_str[m_DataMgr.WorkingResult], list_source_str));
  267. //数据类型
  268. List<string> list_datasourcetypelist = m_DataMgr.GetDataSourceTypeList();
  269. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE, ResourceID.data_type_2, OTS_ITEM_TYPES.COMBO, false, list_datasourcetypelist[0], list_datasourcetypelist));
  270. //数据图类型
  271. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, ResourceID.Data_Table_Type_2, OTS_ITEM_TYPES.COMBO, false, "", new List<string> { }));
  272. //三元相图模板
  273. List<string> trio_listname = m_DataMgr.GetTriTemplateNameList();
  274. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE, ResourceID.Ternary_Phase_Diagram_2, OTS_ITEM_TYPES.COMBO, false, trio_listname.First(), trio_listname));
  275. //粒级表
  276. List<string> list_partsizelist = m_DataMgr.GetPartSizeFileList();
  277. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, ResourceID.Particle_Size_Table_2, OTS_ITEM_TYPES.COMBO, false, list_partsizelist[0], list_partsizelist));
  278. //尺寸计算法
  279. list.Add(NewGridData((int)tbindex, OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, ResourceID.Dimension_Calculation_Method_2, OTS_ITEM_TYPES.COMBO, false, m_DataMgr.GetSizeCalMethodTypeList().First(), m_DataMgr.GetSizeCalMethodTypeList()));
  280. }
  281. return list;
  282. }
  283. /// <summary>
  284. /// 根据样品属性 显示对应的图表
  285. /// </summary>
  286. /// <param name="tabIndex">标签索引</param>
  287. /// <param name="strTableTypeName">属性中选择的图表名称</param>
  288. public void ShowDataDiagram(DisplayPicutureType tabindex)
  289. {
  290. int sourceid = m_DataMgr.WorkingResult;
  291. var resultFile = m_DataMgr.resultFilesList[sourceid];
  292. var prop = SourceGridData;
  293. String m_fileName = resultFile.FileName;
  294. #region 对各窗体模块进行实际加载的代码
  295. switch (tabindex)
  296. {
  297. //分析图
  298. case DisplayPicutureType.AnalyzeImg://第一页选项窗体,分析图
  299. m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeImg);
  300. int display = prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE);
  301. if (display == (int)IMAGE_DISPLAY_TYPE.GENERAL)
  302. {
  303. //分布图对象为空,或当前显示的与在测量结果中选择的不匹配,则重新加载
  304. if (null != m_ReportApp.im_Control_DrawDistrbutionImageAndBSE)
  305. {
  306. if (m_fileName != m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName)
  307. {
  308. //如果已经不是原先的数据源,则需要重新加载,设定为空,后面重新加载
  309. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE = null;
  310. }
  311. }
  312. //不需重新加载,则加载条件
  313. if (m_ReportApp.im_Control_DrawDistrbutionImageAndBSE != null)
  314. {
  315. m_ReportApp.m_SImageWindow.Controls.Clear();
  316. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DataSourceID = sourceid;
  317. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = m_fileName;
  318. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill;
  319. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE);
  320. m_ReportApp.m_SImageWindow.Activate();
  321. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(SourceGridData);
  322. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.SetSelectParticle(m_ReportApp.SelectedParticles);
  323. string ImageType = prop.GetItemvalByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE);
  324. //切换分布图显示方式
  325. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowMode(ImageType);
  326. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.FullGraphMatch();
  327. }
  328. else if (m_ReportApp.im_Control_DrawDistrbutionImageAndBSE == null)
  329. {
  330. m_ReportApp.m_SImageWindow.Controls.Clear();
  331. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionImageAndBSE(m_ReportApp);
  332. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DataSourceID = sourceid;
  333. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.ShowSourceName = m_fileName;
  334. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.Dock = DockStyle.Fill;
  335. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionImageAndBSE);
  336. m_ReportApp.m_SImageWindow.Activate();
  337. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.DrawDistrbutionImageAndBSE_ByQuery(SourceGridData);
  338. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.SetSelectParticle(m_ReportApp.SelectedParticles);
  339. m_ReportApp.im_Control_DrawDistrbutionImageAndBSE.FullGraphMatch();
  340. }
  341. }
  342. else
  343. {
  344. //排列图为空,或与在测量结果中选择的名字不一致时,则重新加载
  345. if (null != m_ReportApp.im_Control_DrawDistrbutionSortImage)
  346. {
  347. if (m_fileName != m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName)
  348. {
  349. //如果已经不是原先的数据源,则需要重新加载,设定为空,后面重新加载
  350. m_ReportApp.im_Control_DrawDistrbutionSortImage = null;
  351. }
  352. }
  353. //不需重新加载,则加载条件
  354. if (m_ReportApp.im_Control_DrawDistrbutionSortImage != null)
  355. {
  356. m_ReportApp.m_SImageWindow.Controls.Clear();
  357. m_ReportApp.im_Control_DrawDistrbutionSortImage.DataSourceID = sourceid;
  358. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName = m_fileName;
  359. m_ReportApp.im_Control_DrawDistrbutionSortImage.Dock = DockStyle.Fill;
  360. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionSortImage);
  361. m_ReportApp.m_SImageWindow.Activate();
  362. m_ReportApp.im_Control_DrawDistrbutionSortImage.GetDistrbutionSortimage_ByQuery(SourceGridData);
  363. m_ReportApp.im_Control_DrawDistrbutionSortImage.SetSelectParticle(m_ReportApp.SelectedParticles);
  364. //判断当前点击测量结果中的数据源名,是否与已经加载的排序图显示的数据源名相同
  365. if (m_fileName == m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName)
  366. {
  367. //相同,加载计算条件
  368. // m_RstProp.m_ReportApp.im_Control_DrawDistrbutionSortImage.Control_DrawDistrbutionSortImage_ByQuery(listGriddataclr);
  369. m_ReportApp.im_Control_DrawDistrbutionSortImage.SetSelectParticle(m_ReportApp.SelectedParticles);
  370. //idx = m_RstProp.m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp.SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE);
  371. string ImageType = prop.GetItemvalByItemName(OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE);
  372. //切换BSE和分类,两种影像的显示方式
  373. if (ImageType == "BSE")
  374. {
  375. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowMode(false);
  376. }
  377. else
  378. {
  379. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowMode(true);
  380. }
  381. return;
  382. }
  383. }
  384. else if (m_ReportApp.im_Control_DrawDistrbutionSortImage == null)
  385. {
  386. m_ReportApp.m_SImageWindow.Controls.Clear();
  387. m_ReportApp.im_Control_DrawDistrbutionSortImage = new OTSIncAReportGraph.Controls.Control_DrawDistrbutionSortImage(m_ReportApp);
  388. m_ReportApp.im_Control_DrawDistrbutionSortImage.DataSourceID = sourceid;
  389. m_ReportApp.im_Control_DrawDistrbutionSortImage.ShowSourceName = m_fileName;
  390. m_ReportApp.im_Control_DrawDistrbutionSortImage.Dock = DockStyle.Fill;
  391. m_ReportApp.m_SImageWindow.Controls.Add(m_ReportApp.im_Control_DrawDistrbutionSortImage);
  392. m_ReportApp.m_SImageWindow.Activate();
  393. m_ReportApp.im_Control_DrawDistrbutionSortImage.GetDistrbutionSortimage_ByQuery(SourceGridData);
  394. m_ReportApp.im_Control_DrawDistrbutionSortImage.SetSelectParticle(m_ReportApp.SelectedParticles);
  395. }
  396. }
  397. break;
  398. //分析数据表
  399. case DisplayPicutureType.AnalyzeDataTable:
  400. #region 第二页选项窗体,分析数据表
  401. m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeDataTable);
  402. //idx = m_RstProp.m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp.SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
  403. int TableType = prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE);
  404. switch (TableType)
  405. {
  406. case 0:
  407. m_ReportApp.m_TablesWindow.Controls.Clear();
  408. m_ReportApp.im_ResultGrid = new ResultGrid(m_ReportApp);
  409. m_ReportApp.im_ResultGrid.Dock = DockStyle.Fill;
  410. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ResultGrid);
  411. m_ReportApp.m_TablesWindow.Activate();
  412. break;
  413. case 1:
  414. if (m_ReportApp.im_ParticlesGridDevidePage != null && m_ReportApp.im_ParticlesGridDevidePage.FileName == m_fileName)
  415. {
  416. m_ReportApp.m_TablesWindow.Controls.Clear();
  417. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesGridDevidePage);
  418. m_ReportApp.m_TablesWindow.Activate();
  419. }
  420. else
  421. {
  422. m_ReportApp.m_TablesWindow.Controls.Clear();
  423. m_ReportApp.im_ParticlesGridDevidePage = new OTSIncAReportGrids.ParticlesGridDevidePage(m_ReportApp);
  424. m_ReportApp.im_ParticlesGridDevidePage.FileName = m_fileName;
  425. m_ReportApp.im_ParticlesGridDevidePage.Dock = DockStyle.Fill;
  426. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesGridDevidePage);
  427. m_ReportApp.m_TablesWindow.Activate();
  428. }
  429. break;
  430. case 2:
  431. m_ReportApp.m_TablesWindow.Controls.Clear();
  432. m_ReportApp.im_CompositionDistributionGrid = new CompositionDistributionGrid(m_ReportApp);
  433. m_ReportApp.im_CompositionDistributionGrid.Dock = DockStyle.Fill;
  434. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_CompositionDistributionGrid);
  435. m_ReportApp.m_TablesWindow.Activate();
  436. break;
  437. case 3:
  438. m_ReportApp.m_TablesWindow.Controls.Clear();
  439. m_ReportApp.im_ElementContentGrid = new ElementContentGrid(m_ReportApp);
  440. m_ReportApp.im_ElementContentGrid.Dock = DockStyle.Fill;
  441. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ElementContentGrid);
  442. m_ReportApp.m_TablesWindow.Activate();
  443. break;
  444. case 4://颗粒尺寸分布表
  445. m_ReportApp.m_TablesWindow.Controls.Clear();
  446. m_ReportApp.im_ParticlesSizeGrid = new ParticlesSizeGrid(m_ReportApp);
  447. m_ReportApp.im_ParticlesSizeGrid.Dock = DockStyle.Fill;
  448. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ParticlesSizeGrid);
  449. m_ReportApp.m_TablesWindow.Activate();
  450. break;
  451. case 5:
  452. m_ReportApp.m_TablesWindow.Controls.Clear();
  453. m_ReportApp.im_ElementCompositionAvgGrid = new ElementCompositionAvgGrid(m_ReportApp);
  454. m_ReportApp.im_ElementCompositionAvgGrid.Dock = DockStyle.Fill;
  455. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ElementCompositionAvgGrid);
  456. m_ReportApp.m_TablesWindow.Activate();
  457. break;
  458. case 6:
  459. //国标一
  460. string resultfile = m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FilePath + "\\"
  461. + m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FileName;
  462. m_ReportApp.m_DataMgrFun.m_ReportMgr.AddASmplMsrResultMgr(resultfile);
  463. OTSCLRINTERFACE.CPropParamClr clr_prop = m_ReportApp.m_DataMgrFun.m_ReportMgr.GetPropertyParamTable();
  464. clr_prop.SetDataSourceId(0);//
  465. clr_prop.SetType(1);//table
  466. clr_prop.SetCalTableType(6);//国标1
  467. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr = m_ReportApp.m_DataMgrFun.m_ReportMgr.GridDataTransfer(clr_prop);//
  468. m_ReportApp.m_TablesWindow.Controls.Clear();
  469. m_ReportApp.im_ChineseStandardABCDDS = new ChineseStandardABCDDS(m_ReportApp.m_DataMgrFun.m_ReportMgr, listGriddataclr);
  470. m_ReportApp.im_ChineseStandardABCDDS.Dock = DockStyle.Fill;
  471. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ChineseStandardABCDDS);
  472. m_ReportApp.m_TablesWindow.Activate();
  473. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath+"\\"
  474. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "GB1");
  475. break;
  476. case 7:
  477. //国标二
  478. string resultfile2 = m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FilePath + "\\"
  479. + m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FileName;
  480. m_ReportApp.m_DataMgrFun.m_ReportMgr.AddASmplMsrResultMgr(resultfile2);
  481. OTSCLRINTERFACE.CPropParamClr clr_prop2 = m_ReportApp.m_DataMgrFun.m_ReportMgr.GetPropertyParamTable();
  482. clr_prop2.SetDataSourceId(0);//
  483. clr_prop2.SetType(1);//table
  484. clr_prop2.SetCalTableType(7);//国标2
  485. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr2 = m_ReportApp.m_DataMgrFun.m_ReportMgr.GridDataTransfer(clr_prop2);//
  486. m_ReportApp.m_TablesWindow.Controls.Clear();
  487. m_ReportApp.im_NationalStandardMethodTwo = new NationalStandardMethodTwo(m_ReportApp.m_DataMgrFun.m_ReportMgr, listGriddataclr2);
  488. m_ReportApp.im_NationalStandardMethodTwo.Dock = DockStyle.Fill;
  489. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_NationalStandardMethodTwo);
  490. m_ReportApp.m_TablesWindow.Activate();
  491. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
  492. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "GB2");
  493. break;
  494. case 8:
  495. //美标
  496. string resultfile3 = m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FilePath + "\\"
  497. + m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FileName;
  498. m_ReportApp.m_DataMgrFun.m_ReportMgr.AddASmplMsrResultMgr(resultfile3);
  499. OTSCLRINTERFACE.CPropParamClr clr_prop3 = m_ReportApp.m_DataMgrFun.m_ReportMgr.GetPropertyParamTable();
  500. clr_prop3.SetDataSourceId(0);//
  501. clr_prop3.SetType(1);//table
  502. clr_prop3.SetCalTableType(8);
  503. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr3 = m_ReportApp.m_DataMgrFun.m_ReportMgr.GridDataTransfer(clr_prop3);
  504. m_ReportApp.m_TablesWindow.Controls.Clear();
  505. m_ReportApp.im_ASTMStandardABCDDS = new ASTMStandardABCDDS(m_ReportApp.m_DataMgrFun.m_ReportMgr, listGriddataclr3);
  506. m_ReportApp.im_ASTMStandardABCDDS.Dock = DockStyle.Fill;
  507. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_ASTMStandardABCDDS);
  508. m_ReportApp.m_TablesWindow.Activate();
  509. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
  510. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "ASTM");
  511. break;
  512. case 9:
  513. //德标
  514. string resultfile4 = m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FilePath + "\\"
  515. + m_DataMgr.resultFilesList[m_DataMgr.WorkingResult].FileName;
  516. m_ReportApp.m_DataMgrFun.m_ReportMgr.AddASmplMsrResultMgr(resultfile4);
  517. OTSCLRINTERFACE.CPropParamClr clr_prop4 = m_ReportApp.m_DataMgrFun.m_ReportMgr.GetPropertyParamTable();
  518. clr_prop4.SetDataSourceId(0);//
  519. clr_prop4.SetType(1);//table
  520. clr_prop4.SetCalTableType(9);
  521. List<OTSCLRINTERFACE.CGridDataClr> listGriddataclr4 = m_ReportApp.m_DataMgrFun.m_ReportMgr.GridDataTransfer(clr_prop4);
  522. m_ReportApp.m_TablesWindow.Controls.Clear();
  523. m_ReportApp.im_DINStandardABCDDS = new DINStandardABCDDS(m_ReportApp.m_DataMgrFun.m_ReportMgr, listGriddataclr4);
  524. m_ReportApp.im_DINStandardABCDDS.Dock = DockStyle.Fill;
  525. m_ReportApp.m_TablesWindow.Controls.Add(m_ReportApp.im_DINStandardABCDDS);
  526. m_ReportApp.m_TablesWindow.Activate();
  527. //OpenOTSINcAreportTemplateAPP(m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FilePath + "\\"
  528. // + m_RstProp.m_ReportApp.m_DataMgrFun.resultFilesList[m_RstProp.m_ReportApp.m_DataMgrFun.WorkingResult].FileName, "DIN");
  529. break;
  530. }
  531. #endregion 第二页选项窗体,分析数据表
  532. break;
  533. //分析数据图
  534. case DisplayPicutureType.AnalyzeDataChart:
  535. m_ReportApp.m_RibbonFun.SetRibbonButnStatu_ByModule(DisplayPicutureType.AnalyzeDataChart);
  536. #region 第三页选项窗体,分析数据图
  537. m_ReportApp.m_ChartsWindow.Controls.Clear();
  538. string m_reportname = "";
  539. string m_str_AxisY = "";
  540. string str_operatonmodule = "";
  541. //idx = m_RstProp. m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp.SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE);
  542. int ChartType = prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE);
  543. switch (ChartType)
  544. {
  545. case 0:
  546. m_reportname = table["m_reportname1"].ToString();//常用夹杂物分类
  547. m_str_AxisY = table["m_str_axisy1"].ToString();
  548. str_operatonmodule = table["str_operatonmodule1"].ToString();
  549. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "CommonlyUsedClassify");
  550. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  551. m_ReportApp.m_reportname = m_reportname;
  552. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  553. m_ReportApp.type = "pie";
  554. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  555. m_ReportApp.m_ChartsWindow.Activate();
  556. break;
  557. case 1:
  558. m_reportname = table["m_reportname2"].ToString();//颗粒成分
  559. m_str_AxisY = table["m_str_axisy2"].ToString();//颗粒数
  560. str_operatonmodule = table["str_operatonmodule2"].ToString();//颗粒成分图
  561. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "PComponent");
  562. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  563. m_ReportApp.m_reportname = m_reportname;
  564. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  565. m_ReportApp.type = "pie";
  566. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  567. m_ReportApp.m_ChartsWindow.Activate();
  568. break;
  569. case 2:
  570. m_reportname = table["m_reportname3"].ToString();//元素成分
  571. m_str_AxisY = table["m_str_axisy3"].ToString();//元素含量
  572. str_operatonmodule = table["str_operatonmodule3"].ToString();//元素成分图
  573. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "EComponent");
  574. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  575. m_ReportApp.m_reportname = m_reportname;
  576. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  577. m_ReportApp.type = "bar";
  578. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  579. m_ReportApp.m_ChartsWindow.Activate();
  580. break;
  581. case 3://颗粒尺寸分布图
  582. m_reportname = table["m_reportname4"].ToString();//颗粒尺寸分布
  583. m_str_AxisY = table["m_str_axisy4"].ToString();//颗粒数
  584. str_operatonmodule = table["str_operatonmodule4"].ToString();//颗粒尺寸分布图
  585. m_ReportApp.im_EChart_ParticlesComposition = new Control_ECharts.EChart_ParticlesComposition(m_ReportApp, "PSize");
  586. m_ReportApp.im_EChart_ParticlesComposition.Dock = DockStyle.Fill;
  587. m_ReportApp.m_reportname = m_reportname;
  588. m_ReportApp.im_EChart_ParticlesComposition.m_str_AxisY = m_str_AxisY;
  589. m_ReportApp.type = "bar";
  590. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_ParticlesComposition);
  591. m_ReportApp.m_ChartsWindow.Activate();
  592. break;
  593. case 4:
  594. //idx = m_RstProp. m_ReportApp.m_DataMgrFun.GetPropIndexByPropItemName(m_RstProp. SourceGridData.ConditionItemList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);
  595. //string TrioChartType = prop.ConditionItemList[idx].itemVal.ToString();
  596. //List<string> nameList = prop.ConditionItemList[idx].comboDownList;
  597. int index = prop.GetComboDownListIndexByItemName(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);
  598. str_operatonmodule = table["str_operatonmodule5"].ToString();
  599. m_ReportApp.im_EChart_Trianglediagram = new Control_ECharts.EChart_Trianglediagram(m_ReportApp);
  600. m_ReportApp.im_EChart_Trianglediagram.Template = "";
  601. m_ReportApp.im_EChart_Trianglediagram.Dock = DockStyle.Fill;
  602. m_ReportApp.m_ChartsWindow.Controls.Add(m_ReportApp.im_EChart_Trianglediagram);
  603. m_ReportApp.m_ChartsWindow.Activate();
  604. break;
  605. }
  606. #endregion 第三页窗体,分析数据图
  607. break;
  608. }
  609. #endregion
  610. }
  611. #endregion
  612. #region 属性Grid相关事件
  613. /// <summary>
  614. /// 属性Grid点击事件
  615. /// </summary>
  616. /// <param name="sender"></param>
  617. /// <param name="e"></param>
  618. private void PropGrid_Click_1(object sender, EventArgs e)
  619. {
  620. SourceGrid.Grid ls_gd = (SourceGrid.Grid)sender;
  621. ls_gd.Focus();
  622. m_ConditionGrid.m_ClickRow = ls_gd.Selection.ActivePosition.Row;
  623. m_ConditionGrid.m_ClickColumn = ls_gd.Selection.ActivePosition.Column;
  624. }
  625. /// <summary>
  626. /// 主窗体大小改变时,同时改变属性Grid的大小事件
  627. /// </summary>
  628. /// <param name="sender"></param>
  629. /// <param name="e"></param>
  630. private void OTSPropertyWindow_Resize(object sender, EventArgs e)
  631. {
  632. if (null != m_ConditionGrid)
  633. {
  634. m_ConditionGrid.m_PropWindow_X = this.Width;
  635. m_ConditionGrid.InitGridTitlet();
  636. }
  637. }
  638. #endregion
  639. }
  640. }