12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202 |
- using OTSCLRINTERFACE;
- using OTSIncAReportApp.OTSSampleReportInfo;
- using OTSIncAReportApp.SysMgrTools;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Data;
- using System.IO;
- using System.Linq;
- using System.Xml;
- namespace OTSIncAReportApp.OTSDataMgrFunction
- {
- /// <summary>
- /// 框架与底层进行交互的操作类
- /// </summary>
- public class DataMgrFun
- {
- #region 变量定义
- /// 报告文件操作类
- /// </summary>
- public CReportMgrClr m_ReportMgr = null;
- /// <summary>
- /// 报告主进程框架对象
- /// </summary>
- private frmReportApp m_ReportApp = null;
- #endregion
- #region 构造函数
- /// <summary>
- /// 构造函数
- /// </summary>
- /// <param name="ReportApp"></param>
- public DataMgrFun(frmReportApp ReportApp)
- {
- m_ReportApp = ReportApp;
- Language lan = new Language();
- table = lan.GetNameTable("DataMgrFun");
- if (null == m_ReportMgr)
- {
- //初始化相关变量
- m_ReportMgr = new CReportMgrClr();
- }
- //m_pRptParamFileMgr = new CRptParamFileMgrClr();
- //m_pRptParamFileMgr.SetRptParamFile(m_ReportProjFileMgr.GetRptParamFileClr());
- }
- //国际化存储信息
- Hashtable table;
- #endregion
- #region 获取组合项相关方法
- /// <summary>
- /// 根据系统设置的默认粒级表路径,获取所有的粒级表文件List
- /// </summary>
- /// <returns></returns>
- public List<string> GetPartSizeFileList()
- {
- List<string> ret_list = new List<string>();
- //遍历粒级文件夹
- DirectoryInfo theFolder = new DirectoryInfo(m_ReportApp.m_RptConfigFile.FileFolderSize);
- if (!theFolder.Exists)
- return ret_list;
- //读取遍历粒级文件信息
- foreach (FileInfo nextifile in theFolder.GetFiles())
- {
- //找出粒级文件
- if (nextifile.Name.Contains(".psf") == true || nextifile.Name.Contains(".PSF") == true)
- {
- ret_list.Add(nextifile.Name);
- }
- }
- return ret_list;
- }
- /// <summary>
- /// 根据系统设置默认的粒级表的路径,获取粒级表List
- /// </summary>
- /// <param name="path"></param>
- /// <returns></returns>
- public List<string> GetPartSizeList()
- {
- DataSet ds = DataOperation.DataAccess.XMLoperate.GetXml(m_ReportApp.m_RptConfigFile.FileFolderSize + m_ReportApp.m_RptConfigFile.PartSizeFile);
- string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
- List<string> sizeList = new List<string>();
- for (int i = 0; i < sizestr.Split(',').Length - 1; i++)
- {
- if (sizestr.Split(',')[i].Length > 0)
- {
- double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
- double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]);
- sizeList.Add(d1.ToString() + "~" + d2.ToString());
- }
- }
- double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]);
- sizeList.Add(d.ToString() + "~MAX");
- return sizeList;
- }
- /// <summary>
- /// 根据传入的粒级表目录,获取粒级表List
- /// </summary>
- /// <returns></returns>
- public List<string> GetPartSizeList(string path)
- {
- DataSet ds = DataOperation.DataAccess.XMLoperate.GetXml(path);
- string sizestr = ds.Tables[0].Rows[0]["Sizes"].ToString();
- List<string> sizeList = new List<string>();
- for (int i = 0; i < sizestr.Split(',').Length - 1; i++)
- {
- if (sizestr.Split(',')[i].Length > 0)
- {
- double d1 = Convert.ToDouble(sizestr.Split(',')[i]);
- double d2 = Convert.ToDouble(sizestr.Split(',')[i + 1]);
- sizeList.Add(d1.ToString() + "~" + d2.ToString());
- }
- }
- double d = Convert.ToDouble(sizestr.Split(',')[sizestr.Split(',').Length - 1]);
- sizeList.Add(d.ToString() + "~MAX");
- return sizeList;
- }
- /// <summary>
- /// 获取三元相图模板名称列表
- /// </summary>
- /// <returns></returns>
- public List<string> GetTriTemplateNameList()
- {
- string pathtpf = m_ReportApp.m_RptConfigFile.FileFolderTrigTemp + m_ReportApp.m_RptConfigFile.TriTempFile;
- List<string> ret_list = new List<string>();
- DataSet ds = DataOperation.DataAccess.XMLoperate.GetXmlData(pathtpf, "XMLData");
- DataTable dt = ds.Tables["Member"];
- foreach (DataRow item in dt.Rows)
- {
- if (item["TemplateName"].ToString() != "")
- {
- ret_list.Add(item["TemplateName"].ToString());
- }
- }
- return ret_list;
- }
- /// <summary>
- /// 获取测量结果名称列表
- /// </summary>
- /// <returns></returns>
- public List<string> GetSampleListName()
- {
- List<string> ret_list = new List<string>();
- var resultfileList = m_ReportApp.resultFilesList;
- foreach (var item in resultfileList)
- {
- ret_list.Add(item.FileName);
- }
- if (m_ReportApp.MoreSource != "")
- {
- ret_list.Add(m_ReportApp.MoreSource);
- }
- return ret_list;
- }
- /// <summary>
- /// 获取计算方法列表
- /// </summary>
- /// <returns></returns>
- public List<string> GetSizeCalMethodTypeList()
- {
- List<string> ret_list = new List<string>() { "DMAX", "DMIN", "Area", "FERET" };
- return ret_list;
- }
- /// <summary>
- /// 数据类型,全部颗粒,分析颗粒
- /// </summary>
- /// <returns></returns>
- public List<string> GetDataSourceTypeList()
- {
- string sscaptionname23 = table["sscaptionname23"].ToString();
- string sscaptionname24 = table["sscaptionname24"].ToString();
- List<string> ret_list = new List<string>() { sscaptionname23, sscaptionname24 };
- return ret_list;
- }
- #endregion
- #region [属性选项Grid窗体]相关封装方法
- /// <summary>
- /// 界面显示Grid
- /// </summary>
- private void NewGridData(OTS_REPORT_PROP_GRID_ITEMS iItemId,string sSCaptionName,OTS_ITEM_TYPES iItemValType,bool bReadOnly,string sDescriptionInfo,object itemVal,List<string> comboDownList)
- {
- SampleData sampleData = new SampleData();
- sampleData.iItemId = iItemId;
- sampleData.sSCaptionName = sSCaptionName;
- sampleData.iItemValType = iItemValType;
- sampleData.bReadOnly = bReadOnly;
- sampleData.sDescriptionInfo = sDescriptionInfo;
- sampleData.itemVal = itemVal;
- sampleData.comboDownList = comboDownList;
- }
- /// <summary>
- /// 从报告程序的xml文档中读取数据并生成list<datatabl>表格
- /// </summary>
- private List<DataTable> LoadStringFromXml()
- {
- List<DataTable> ResourceDataTables = new List<DataTable>();
- XmlDocument xml = new XmlDocument();
- xml.Load(".\\Resources\\XMLData\\LanguageDefine.xml");
- XmlNode root = xml.SelectSingleNode("Language");
- XmlNode root2 = root.SelectSingleNode("DefaultLanguage");
- string ss = root2.InnerText;
- XmlDocument doc1 = new XmlDocument();
- if (ss == "EN")
- {
- doc1.Load(".\\Resources\\XMLData\\ResourceForCpp\\ResourceForReport-EN.xml");//载入xml文件
- }
- else if (ss == "ZH")
- {
- doc1.Load(".\\Resources\\XMLData\\ResourceForCpp\\ResourceForReport-ZH.xml");//载入xml文件
- }
- root = doc1.SelectSingleNode("XMLData");
- root2 = root.SelectSingleNode("collection");
- XmlNodeList childlist = root2.ChildNodes;
- DataTable dataTable = new DataTable();
- dataTable.Columns.Add("grpKey");
- dataTable.Columns.Add("text");
- dataTable.Columns.Add("description");
- for (int i = 0; i < childlist.Count; i++)
- {
- DataRow dataRow = dataTable.NewRow();
- if (childlist[i].Attributes["grpKey"] != null)
- {
- dataRow["grpKey"] = childlist[i].Attributes["grpKey"].Value;
- }
- else
- {
- dataRow["grpKey"] = "";
- }
- if (childlist[i].Attributes["text"] != null)
- {
- dataRow["text"] = childlist[i].Attributes["text"].Value;
- }
- else
- {
- dataRow["text"] = "";
- }
- if (childlist[i].Attributes["description"] != null)
- {
- dataRow["description"] = childlist[i].Attributes["description"].Value;
- }
- else
- {
- dataRow["description"] = "";
- }
- dataTable.Rows.Add(dataRow);
- DataTable dataTable1 = new DataTable();
- dataTable1.TableName = "ResGrp" + i.ToString();
- dataTable1.Columns.Add("itemKey");
- dataTable1.Columns.Add("itemName");
- dataTable1.Columns.Add("itemText");
- dataTable1.Columns.Add("description");
- XmlNodeList childlist2 = childlist[i].ChildNodes;
- for (int j = 0; j < childlist2.Count; j++)
- {
- DataRow dr = dataTable1.NewRow();
- dr["itemKey"] = childlist2[j].Attributes["itemKey"].Value;
- dr["itemName"] = childlist2[j].Attributes["itemName"].Value;
- dr["itemText"] = childlist2[j].Attributes["itemText"].Value;
- if (childlist2[j].Attributes["description"] != null)
- {
- dr["description"] = childlist2[j].Attributes["description"].Value;
- }
- else
- {
- dr["description"] = "";
- }
- dataTable1.Rows.Add(dr);
- }
- ResourceDataTables.Add(dataTable1);
- }
- ResourceDataTables.Insert(0, dataTable);
- return ResourceDataTables;
- }
- /// <summary>
- /// 初始化加载sourceGrid各项
- /// </summary>
- /// <param name="tbindex"></param>
- /// <returns></returns>SampleData1
- private List<SampleData> GetSourceGridData(int tbindex)
- {
- OTSDataType.XmlResourceData.GetInstance().GetGroupTextByKey(0);
- List<SampleData> list = new List<SampleData>();
- if (tbindex == 0)//分布图页
- {
- //测量结果数据
- List<string> list_source_str = GetSampleListName();
- NewGridData(0, table["sscaptionname1"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Select Measurement Result", list_source_str[m_ReportApp.WorkingResult], list_source_str);
- ////测量结果数据
- //List<string> list_source_str = GetSampleListName();
- //string sSCaptionName1 = table["sscaptionname1"].ToString();
- //SampleData sampleData = new SampleData();
- //sampleData.iItemId = 0;
- //sampleData.sSCaptionName = sSCaptionName1;
- //sampleData.iItemValType = OTS_ITEM_TYPES.COMBO;
- //sampleData.bReadOnly = false;
- //sampleData.sDescriptionInfo = "Select Measurement Result";
- //sampleData.itemVal = list_source_str[m_ReportApp.WorkingResult];
- //sampleData.comboDownList = list_source_str;
- //list.Add(sampleData);
- //string sSCaptionName2 = table["sscaptionname2"].ToString();
- //string sSCaptionName13 = table["sscaptionname13"].ToString();
- SampleData sampleData1 = new SampleData();
- sampleData1.iItemId = OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE;
- sampleData1.sSCaptionName = table["sscaptionname2"].ToString();//测量图类型
- sampleData1.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData1.bReadOnly = false;
- sampleData1.sDescriptionInfo = "Survey Chart Type";
- sampleData1.itemVal = "BSE";
- sampleData1.comboDownList = new List<string>() { "BSE", table["sscaptionname13"].ToString(), "Original", "原图颗粒分布"};//bse,颗粒分类图
- list.Add(sampleData1);
- //测量图类型
- List<string> list_datasourcetypelist = GetDataSourceTypeList();
- string sSCaptionName3 = table["sscaptionname3"].ToString();
- string sscaptionname14 = table["sscaptionname14"].ToString();
- string sscaptionname15 = table["sscaptionname15"].ToString();
- List<string> list1 = new List<string>() { sscaptionname14, sscaptionname15 };
- SampleData sampleData2 = new SampleData();
- sampleData2.iItemId = OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE;
- sampleData2.sSCaptionName = sSCaptionName3;
- sampleData2.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData2.bReadOnly = false;
- sampleData2.sDescriptionInfo = "chart display mode";
- sampleData2.itemVal = list1[0];
- sampleData2.comboDownList = list1;
- list.Add(sampleData2);
- //测量图显示方式
- string sSCaptionName4 = table["sscaptionname4"].ToString();
- string sscaptionname16 = table["sscaptionname16"].ToString();
- string sscaptionname17 = table["sscaptionname17"].ToString();
- List<string> list2 = new List<string>() { sscaptionname16, sscaptionname17 };
- SampleData sampleData3 = new SampleData();
- sampleData3.iItemId = OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE;
- sampleData3.sSCaptionName = sSCaptionName4;
- sampleData3.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData3.bReadOnly = false;
- sampleData3.sDescriptionInfo = "Particle Type";
- sampleData3.itemVal = list2[0];
- sampleData3.comboDownList = list2;
- list.Add(sampleData3);
- //粒级表
- string sSCaptionName_partsizefile = "粒级表";
- List<string> list_partsizelist = GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件
- SampleData sampleData_partsizefile = new SampleData();
- sampleData_partsizefile.iItemId = OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE;
- sampleData_partsizefile.sSCaptionName = sSCaptionName_partsizefile;
- sampleData_partsizefile.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData_partsizefile.bReadOnly = false;
- sampleData_partsizefile.sDescriptionInfo = "Particle Table";
- sampleData_partsizefile.itemVal = list_partsizelist[0];
- sampleData_partsizefile.comboDownList = list_partsizelist;
- list.Add(sampleData_partsizefile);
- //粒级
- string sscaptionname18 = table["sscaptionname18"].ToString();
- SampleData sampleData4 = new SampleData();
- List<string> sizeList = new List<string>();
- sizeList = GetPartSizeList();//获取粒级后额外增加全部,自定义,选项
- sizeList.Insert(0, sscaptionname16);//全部
- sizeList.Insert(1, sscaptionname18);//自定义
- string sSCaptionName5 = table["sscaptionname5"].ToString();
- sampleData4.iItemId = OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS;
- sampleData4.sSCaptionName = sSCaptionName5;
- sampleData4.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData4.bReadOnly = false;
- sampleData4.sDescriptionInfo = "Grain Size";
- sampleData4.itemVal = sscaptionname16;
- sampleData4.comboDownList = sizeList;
- list.Add(sampleData4);
- //自定义最小
- string sSCaptionName6 = table["sscaptionname6"].ToString();
- SampleData sampleData41 = new SampleData();
- sampleData41.iItemId = OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN;
- sampleData41.sSCaptionName = sSCaptionName6;
- sampleData41.iItemValType = OTS_ITEM_TYPES.DOUBLE;
- sampleData41.bReadOnly = false;
- sampleData41.sDescriptionInfo = "Smallest Particle";
- sampleData41.itemVal = "0";
- list.Add(sampleData41);
- //自定义最大
- string sSCaptionName7 = table["sscaptionname7"].ToString();
- SampleData sampleData42 = new SampleData();
- sampleData42.iItemId = OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX;
- sampleData42.sSCaptionName = sSCaptionName7;
- sampleData42.iItemValType = OTS_ITEM_TYPES.DOUBLE;
- sampleData42.bReadOnly = false;
- sampleData42.sDescriptionInfo = "Maximum Particle";
- sampleData42.itemVal = "0";
- list.Add(sampleData42);
- //测量数据
- string sSCaptionName22 = table["sscaptionname22"].ToString();
- string sSCaptionName19 = table["sscaptionname19"].ToString();
- string sSCaptionName20 = table["sscaptionname20"].ToString();
- string sSCaptionName21 = table["sscaptionname21"].ToString();
- List<string> list3 = new List<string>() { sSCaptionName19, sSCaptionName20, sSCaptionName21 };
- SampleData sampleData6 = new SampleData();
- sampleData6.iItemId = OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE;
- sampleData6.sSCaptionName = sSCaptionName22;
- sampleData6.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData6.bReadOnly = false;
- sampleData6.sDescriptionInfo = "Measured Data";
- sampleData6.itemVal = list3[0];
- sampleData6.comboDownList = list3;
- list.Add(sampleData6);
- //计算方式
- string sSCaptionName8 = table["sscaptionname8"].ToString();
- SampleData sampleData5 = new SampleData();
- sampleData5.iItemId = OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE;
- sampleData5.sSCaptionName = sSCaptionName8;
- sampleData5.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData5.bReadOnly = false;
- sampleData5.sDescriptionInfo = "Dimension calculation method";
- sampleData5.itemVal = "DMAX";
- sampleData5.comboDownList = GetSizeCalMethodTypeList();
- list.Add(sampleData5);
- }
- else if (tbindex == 1)//Grid表格页
- {
- //测量结果数据
- List<string> list_source_str = GetSampleListName();
- string sSCaptionName1 = table["sscaptionname1"].ToString();
- SampleData sampleData = new SampleData();
- sampleData.iItemId = 0;
- sampleData.sSCaptionName = sSCaptionName1;
- sampleData.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData.bReadOnly = false;
- sampleData.sDescriptionInfo = "Select Measurement Result";
- sampleData.itemVal = list_source_str[m_ReportApp.WorkingResult];
- sampleData.comboDownList = list_source_str;
- list.Add(sampleData);
- //数据类型
- List<string> list_datasourcetypelist = GetDataSourceTypeList();
- string sSCaptionName9 = table["sscaptionname9"].ToString();
- SampleData sampleData1 = new SampleData();
- sampleData1.iItemId = OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE;
- sampleData1.sSCaptionName = sSCaptionName9;
- sampleData1.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData1.bReadOnly = false;
- sampleData1.sDescriptionInfo = "Data Type";
- sampleData1.itemVal = list_datasourcetypelist[0];
- sampleData1.comboDownList = list_datasourcetypelist;
- list.Add(sampleData1);
- //数据表类型
- string sSCaptionName10 = table["sscaptionname10"].ToString();
- List<string> list2 = new List<string>() { table["sscaptionname25"].ToString(), table["sscaptionname26"].ToString(), table["sscaptionname27"].ToString(), table["sscaptionname28"].ToString(), table["sscaptionname29"].ToString(), table["sscaptionname30"].ToString()};
- string[] aa = m_ReportApp.Text.Split('-');
- if(aa[aa.Count()-1]== " Inclusion Analysis System")
- {
- List<string> listStd = new List<string>() {"国标一", "国标二", "美标", "德标" };
- list2.AddRange(listStd);
- }
- SampleData sampleData3 = new SampleData();
- sampleData3.iItemId = OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE;
- sampleData3.sSCaptionName = sSCaptionName10;
- sampleData3.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData3.bReadOnly = false;
- sampleData3.sDescriptionInfo = "Data table type";
- sampleData3.itemVal = list2[0];
- sampleData3.comboDownList = list2;
- list.Add(sampleData3);
- //粒级表
- string sSCaptionName_partsizefile = "粒级表";
- List<string> list_partsizelist = GetPartSizeFileList();//从系统默认的路径中查找出所有的粒级表文件
- SampleData sampleData_partsizefile = new SampleData();
- sampleData_partsizefile.iItemId = OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE;
- sampleData_partsizefile.sSCaptionName = sSCaptionName_partsizefile;
- sampleData_partsizefile.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData_partsizefile.bReadOnly = false;
- sampleData_partsizefile.sDescriptionInfo = "Particle Table";
- sampleData_partsizefile.itemVal = list_partsizelist[0];
- sampleData_partsizefile.comboDownList = list_partsizelist;
- list.Add(sampleData_partsizefile);
- //尺寸计算方法
- string sSCaptionName8 = table["sscaptionname8"].ToString();
- SampleData sampleData13 = new SampleData();
- sampleData13.iItemId = OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE;
- sampleData13.sSCaptionName = sSCaptionName8;
- sampleData13.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData13.bReadOnly = false;
- sampleData13.sDescriptionInfo = "Dimension Calculation Method";
- sampleData13.itemVal = "DMAX";
- sampleData13.comboDownList = GetSizeCalMethodTypeList();
- list.Add(sampleData13);
- }
- else if (tbindex == 2)//Chart图页
- {
- //测量结果数据
- List<string> list_source_str = GetSampleListName();
- string sSCaptionName1 = table["sscaptionname1"].ToString();
- SampleData sampleData = new SampleData();
- sampleData.iItemId = 0;
- sampleData.sSCaptionName = sSCaptionName1;
- sampleData.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData.bReadOnly = false;
- sampleData.sDescriptionInfo = "Select Measurement Result";
- sampleData.itemVal = list_source_str[m_ReportApp.WorkingResult];
- sampleData.comboDownList = list_source_str;
- list.Add(sampleData);
- //数据类型
- List<string> list_datasourcetypelist = GetDataSourceTypeList();
- string sSCaptionName9 = table["sscaptionname9"].ToString();
- SampleData sampleData1 = new SampleData();
- sampleData1.iItemId = OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE;
- sampleData1.sSCaptionName = sSCaptionName9;
- sampleData1.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData1.bReadOnly = false;
- sampleData1.sDescriptionInfo = "Data Type";
- sampleData1.itemVal = list_datasourcetypelist[0];
- sampleData1.comboDownList = list_datasourcetypelist;
- list.Add(sampleData1);
- //数据图类型
- string sSCaptionName10 = table["sscaptionname10"].ToString();
- List<string> list2 = new List<string>() { "常用夹杂物分类", table["sscaptionname27"].ToString(), table["sscaptionname28"].ToString(), table["sscaptionname29"].ToString(), table["sscaptionname12"].ToString() };
- SampleData sampleData3 = new SampleData();
- sampleData3.iItemId = OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE;
- sampleData3.sSCaptionName = sSCaptionName10;
- sampleData3.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData3.bReadOnly = false;
- sampleData3.sDescriptionInfo = "Data graph type";
- sampleData3.itemVal = list2[0];
- sampleData3.comboDownList = list2;
- list.Add(sampleData3);
- //三元相图模板
- string sSCaptionName12 = table["sscaptionname12"].ToString();
- SampleData sampleData15 = new SampleData();
- List<string> trio_listname = GetTriTemplateNameList();
- sampleData15.iItemId = OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE;
- sampleData15.sSCaptionName = sSCaptionName12;
- sampleData15.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData15.bReadOnly = false;
- sampleData15.sDescriptionInfo = "Ternary phase diagram";
- sampleData15.itemVal = trio_listname.First();
- sampleData15.comboDownList = trio_listname;
- list.Add(sampleData15);
- //粒级表
- string sSCaptionName_partsizefile = "粒级表";
- List<string> list_partsizelist = GetPartSizeFileList();
- SampleData sampleData_partsizefile = new SampleData();
- sampleData_partsizefile.iItemId = OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE;
- sampleData_partsizefile.sSCaptionName = sSCaptionName_partsizefile;
- sampleData_partsizefile.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData_partsizefile.bReadOnly = false;
- sampleData_partsizefile.sDescriptionInfo = "Particle Table";
- sampleData_partsizefile.itemVal = list_partsizelist[0];
- sampleData_partsizefile.comboDownList = list_partsizelist;
- list.Add(sampleData_partsizefile);
- //尺寸计算法
- string sSCaptionName8 = table["sscaptionname8"].ToString();
- SampleData sampleData13 = new SampleData();
- sampleData13.iItemId = OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE;
- sampleData13.sSCaptionName = sSCaptionName8;
- sampleData13.iItemValType = OTS_ITEM_TYPES.COMBO;
- sampleData13.bReadOnly = false;
- sampleData13.sDescriptionInfo = "Dimension Calculation Method";
- sampleData13.itemVal = "DMAX";
- sampleData13.comboDownList = GetSizeCalMethodTypeList();
- list.Add(sampleData13);
- }
- return list;
- }
- /// <summary>
- /// 分发SourceGrid,各选项值改变事件
- /// </summary>
- /// <param name="tbindex"></param>
- /// <param name="typ"></param>
- /// <param name="val"></param>
- /// <param name="sel"></param>
- /// <returns></returns>
- public OTSSampleMeaInfo ChangeSouceGrid(int tbindex, OTS_REPORT_PROP_GRID_ITEMS typ, string val, int sel)
- {
- OTSSampleMeaInfo ret = new OTSSampleMeaInfo();
- ret = m_ReportApp.SourceGridDataList[tbindex];
- switch (tbindex)
- {
- case 0:
- ret = ChangeSouceGrid_Image(typ, val, sel);
- break;
- case 1:
- ret = ChangeSouceGrid_Grid(typ, val, sel);
- break;
- case 2:
- ret = ChangeSouceGrid_Chart(typ, val, sel);
- break;
- }
- return ret;
- }
- /// <summary>
- /// SourceGrid,分析图页面组合各项方法
- /// </summary>
- /// <param name="typ"></param>
- /// <param name="val"></param>
- /// <param name="sel"></param>
- /// <returns></returns>
- public OTSSampleMeaInfo ChangeSouceGrid_Image(OTS_REPORT_PROP_GRID_ITEMS typ, string val, int sel)
- {
- OTSSampleMeaInfo ret = new OTSSampleMeaInfo();
- ret = m_ReportApp.SourceGridDataList[0];
- //string strlist = ret.TSampleParam.sSampleTitleName;
- List<OTS_REPORT_PROP_GRID_ITEMS> list_showgrid_item = ret.TSampleParam.List_ShowGrid_Items;
- //测量结果数据
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)
- {
- if (val.Contains("+"))
- {
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)].itemVal = val;
- }
- else
- {
- DataOperation.Model.ResultFile resultFile = m_ReportApp.resultFilesList.Find(s => s.FileName == val);
- int index = m_ReportApp.resultFilesList.IndexOf(resultFile);
- m_ReportApp.WorkingResult = index;
- }
- }
- //测量图类型
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE)
- {
- }
- ////---------------------------------------------------------------
- //测量图显示方式
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE)
- {
- if (sel == 0)//选择分布图
- {
- //strlist = ",0,2,3,7,10,13,";
- list_showgrid_item = new List<OTS_REPORT_PROP_GRID_ITEMS>(){OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
- OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE,//7
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS,//10
- OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE };//13
- if (ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE)].comboDownList.IndexOf(ret.SampleDataList[4].itemVal.ToString()) != 0)
- {
- //strlist = ",0,2,3,7,10,11,12,13,";
- list_showgrid_item = new List<OTS_REPORT_PROP_GRID_ITEMS>(){OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
- OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE,//7
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS,//10
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN,//11
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX,//12
- OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE };//13
- }
- }
- else if (sel == 1)//选择排序图时
- {
- //strlist = ",0,2,3,4,13,";
- list_showgrid_item = new List<OTS_REPORT_PROP_GRID_ITEMS>(){OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
- OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE,//4
- OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE };//13
- }
- }
- //颗粒类型
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE)
- {
- }
- //测量数据
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE)
- {
- if (sel == 0)//全部颗粒类型
- {
- //strlist = ",0,2,3,4,13,";
- list_showgrid_item = new List<OTS_REPORT_PROP_GRID_ITEMS>(){OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
- OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE,//4
- OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE };//13
- }
- else if (sel == 1)//分析颗粒类型
- {
- list_showgrid_item = new List<OTS_REPORT_PROP_GRID_ITEMS>(){OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
- OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE,//4
- OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE };//13
- }
- else if (sel == 2)//颗粒尺寸类型
- {
- list_showgrid_item = new List<OTS_REPORT_PROP_GRID_ITEMS>(){OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
- OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE,//4
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE,//9
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS,//10
- OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE };//13
- }
- }
- //颗粒粒级表
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE)
- {
- //点击下拉框,级联联动事件
- int idx = m_ReportApp.m_DataMgrFun.GetSampleIndexByPropItemName(m_ReportApp.SourceGridData.SampleDataList, OTSIncAReportApp.OTSSampleReportInfo.OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);
- List<string> list_partsize = GetPartSizeList(m_ReportApp.m_RptConfigFile.FileFolderSize + ret.SampleDataList[idx].itemVal.ToString());
- List<string> list_partsizeChart = new List<string>();
- for (int i = 0; i < ret.SampleDataList[idx].comboDownList.Count;i++)
- list_partsizeChart.Add(ret.SampleDataList[idx].comboDownList[i].ToString());
- string sscaptionname16 = table["sscaptionname16"].ToString();
- string sscaptionname18 = table["sscaptionname18"].ToString();
- list_partsize.Insert(0, sscaptionname16);//全部
- list_partsize.Insert(1, sscaptionname18);//自定义
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE)].itemVal = ret.SampleDataList[idx].itemVal.ToString();
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE)].comboDownList = list_partsizeChart;
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS)].comboDownList = list_partsize;
- m_ReportApp.m_RptConfigFile.PartSizeFile = ret.SampleDataList[idx].itemVal.ToString();
- }
- //粒级
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS)
- {
- switch (sel)
- {
- case 0:
- list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN);//11
- list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX);//12
- break;
- case 1:
-
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN))
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN);//11
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX);//12
- }
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN)].bReadOnly = false;
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN)].itemVal = "0";
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX)].bReadOnly = false;
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX)].itemVal = "0";
- break;
- default:
-
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN))
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN);//11
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX);//12
- }
- string[] v = ret.SampleDataList[5].itemVal.ToString().Split('~');
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN)].bReadOnly = true;
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN)].itemVal = v[0];
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX)].bReadOnly = true;
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX)].itemVal = v[1];
- break;
- }
- }
- //尺寸计算法
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE)
- {
- }
- //ret.TSampleParam.sSampleTitleName = strlist;
- ret.TSampleParam.List_ShowGrid_Items = list_showgrid_item;
- ret = FilterData(ret);
- return ret;
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="in_list_sampledata"></param>
- /// <param name="in_orpgi"></param>
- /// <returns></returns>
- public int GetSampleIndexByPropItemName(List<SampleData> in_list_sampledata, OTS_REPORT_PROP_GRID_ITEMS in_orpgi)
- {
- for (int i = 0; i < in_list_sampledata.Count; i++)
- {
- if (in_list_sampledata[i].iItemId == in_orpgi)
- {
- return i;
- }
- }
- return -1;
- }
- /// <summary>
- /// SourceGrid,Grid表格部份组合各项方法
- /// </summary>
- /// <param name="typ"></param>
- /// <param name="val"></param>
- /// <param name="sel"></param>
- /// <returns></returns>
- public OTSSampleMeaInfo ChangeSouceGrid_Grid(OTS_REPORT_PROP_GRID_ITEMS typ, string val, int sel)
- {
- OTSSampleMeaInfo ret = new OTSSampleMeaInfo();
- ret = m_ReportApp.SourceGridDataList[1];
- //string strlist = ret.TSampleParam.sSampleTitleName;
- List<OTS_REPORT_PROP_GRID_ITEMS> list_showgrid_item = ret.TSampleParam.List_ShowGrid_Items;
- //测量结果数据
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)
- {
- if (val.Contains("+"))
- {
- ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)].itemVal = val;
- }
- else
- {
- DataOperation.Model.ResultFile resultFile = m_ReportApp.resultFilesList.Find(s => s.FileName == val);
- int index = m_ReportApp.resultFilesList.IndexOf(resultFile);
- m_ReportApp.WorkingResult = index;
- }
- }
- //数据类型
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE)
- {
- }
- //数据表类型
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE)
- {
- switch (sel)
- {
- case 2://颗粒成份
-
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE))//13
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);
- }
- list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);//9
- break;
- case 4://颗粒尺寸分布
-
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE))//9
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);
- }
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE))//13
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);
- }
- break;
- default://其它Grid模块不需要,粒级表和尺寸计算法
-
- list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);//9
- //list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);//13
- break;
- }
- }
- //颗粒粒级表
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE)
- {
- m_ReportApp.m_RptConfigFile.PartSizeFile = ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE)].itemVal.ToString();
- }
- //尺寸计算方法
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE)
- {
- }
- //ret.TSampleParam.sSampleTitleName = strlist;
- ret.TSampleParam.List_ShowGrid_Items = list_showgrid_item;
- ret = FilterData(ret);
- return ret;
- }
- /// <summary>
- /// SourceGrid,Chart图表部份组合各项方法
- /// </summary>
- /// <param name="typ"></param>
- /// <param name="val"></param>
- /// <param name="sel"></param>
- /// <returns></returns>
- public OTSSampleMeaInfo ChangeSouceGrid_Chart(OTS_REPORT_PROP_GRID_ITEMS typ, string val, int sel)
- {
- OTSSampleMeaInfo ret = new OTSSampleMeaInfo();
- ret = m_ReportApp.SourceGridDataList[2];
- //string strlist = ret.TSampleParam.sSampleTitleName;
- List<OTS_REPORT_PROP_GRID_ITEMS> list_showgrid_item = ret.TSampleParam.List_ShowGrid_Items;
- //测量结果数据
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)
- {
- if (val.Contains("+"))
- {
- //ret.SampleDataList[1].bReadOnly = true;
- //ret.SampleDataList[1].itemVal = ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE)].comboDownList[0];
- ret.SampleDataList[0].itemVal = val;
- }
- else
- {
- //ret.SampleDataList[1].bReadOnly = false;
- DataOperation.Model.ResultFile resultFile = m_ReportApp.resultFilesList.Find(s => s.FileName == val);
- int index = m_ReportApp.resultFilesList.IndexOf(resultFile);
- m_ReportApp.WorkingResult = index;
- }
- }
- //数据类型
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE)
- {
- }
- //数据图类型
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE)
- {
- switch (sel)
- {
- case 4://三元相图
-
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE) && !list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE) && !list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE))
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);//15
- }
- else if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE))
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);//15
- }
- break;
- case 3://颗粒尺寸分布图
-
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE))//9
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);
- }
- if (!list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE))//13
- {
- list_showgrid_item.Add(OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE);
- }
- if (list_showgrid_item.Contains(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE))//15
- {
- list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);
- }
- break;
- default:
-
- list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE);
- list_showgrid_item.Remove(OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE);//15
- break;
- }
- }
- //三元相图模板
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE)
- {
- }
- //颗粒种类
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE)
- {
- }
- //颗粒粒级表
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE)
- {
- m_ReportApp.m_RptConfigFile.PartSizeFile = ret.SampleDataList[GetSampleIndexByPropItemName(ret.SampleDataList, OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE)].itemVal.ToString();
- }
- //尺寸计算方法
- if (typ == OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE)
- {
- }
- //ret.TSampleParam.sSampleTitleName = strlist;
- ret.TSampleParam.List_ShowGrid_Items = list_showgrid_item;
- ret = FilterData(ret);
- return ret;
- }
- /// <summary>
- /// 按照枚举字符串,过滤Source掉不显示的项
- /// </summary>
- /// <param name="source"></param>
- /// <returns></returns>
- private OTSSampleMeaInfo FilterData(OTSSampleMeaInfo source)
- {
- OTSSampleMeaInfo ret = new OTSSampleMeaInfo();
- ret.TabIndex = source.TabIndex;
- //new
- List<OTS_REPORT_PROP_GRID_ITEMS> list_shogrid_items = source.TSampleParam.List_ShowGrid_Items;
- for (int i = 0; i < source.SampleDataList.Count; i++)
- {
- if (list_shogrid_items.Contains(source.SampleDataList[i].iItemId))
- {
- ret.SampleDataList.Add(source.SampleDataList[i]);
- }
- }
- return ret;
- }
-
- /// <summary>
- /// 获取sourceGrid数据
- /// </summary>
- /// <param name="SMeasureInfo"></param>
- /// <returns></returns>
- public bool GetWorkSamplePropertyVal(ref OTSSampleMeaInfo SMeasureInfo)
- {
- int tabindex = (int)m_ReportApp.m_PropWindow.tabIndex;
- if (m_ReportApp.WorkingResult == -1)
- {
- return false;
- }
- if (m_ReportApp.SourceGridData.SampleDataList.Count > 0)
- {
- OTSSampleMeaInfo a = m_ReportApp.SourceGridData;
- //if (a.TSampleParam.sSampleTitleName == null)
- //{
- // a.TSampleParam.sSampleTitleName = m_ReportApp.SourceGridDataListLog[a.TabIndex].TSampleParam.sSampleTitleName;
- //}
- //new
- if (a.TSampleParam.List_ShowGrid_Items == null)
- {
- a.TSampleParam.List_ShowGrid_Items = m_ReportApp.SourceGridDataListLog[a.TabIndex].TSampleParam.List_ShowGrid_Items;
- }
- m_ReportApp.SourceGridDataListLog[a.TabIndex] = a;
- OTSSampleMeaInfo b = m_ReportApp.SourceGridDataListLog[tabindex];
- SMeasureInfo = FilterData(b);
- m_ReportApp.SourceGridData = SMeasureInfo;
- }
- else
- {
- OTSSampleMeaInfo data = new OTSSampleMeaInfo();
- data.TabIndex = 0;
- //data.TSampleParam.sSampleTitleName = ",0,2,3,7,9,10,13,";
- data.TSampleParam.List_ShowGrid_Items = new List<OTS_REPORT_PROP_GRID_ITEMS> { OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE,//2
- OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE,//3
- OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE,//7
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE,//9
- OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS,//10
- OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE};//13
- data.SampleDataList = GetSourceGridData(0);
- m_ReportApp.SourceGridDataList.Add(data);
- m_ReportApp.SourceGridDataListLog.Add(data);
- OTSSampleMeaInfo data1 = new OTSSampleMeaInfo();
- data1.TabIndex = 1;
- //data1.TSampleParam.sSampleTitleName = ",0,1,5,";
- data1.TSampleParam.List_ShowGrid_Items = new List<OTS_REPORT_PROP_GRID_ITEMS> { OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE,//1
- OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE};//5
- data1.SampleDataList = GetSourceGridData(1);
- m_ReportApp.SourceGridDataList.Add(data1);
- m_ReportApp.SourceGridDataListLog.Add(data1);
- OTSSampleMeaInfo data2 = new OTSSampleMeaInfo();
- data2.TabIndex = 2;
- //data2.TSampleParam.sSampleTitleName = ",0,1,6,";
- data2.TSampleParam.List_ShowGrid_Items = new List<OTS_REPORT_PROP_GRID_ITEMS> { OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE,//0
- OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE,//1
- OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE };
- //,//6
- //OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE};//13
- data2.SampleDataList = GetSourceGridData(2);
- m_ReportApp.SourceGridDataList.Add(data2);
- m_ReportApp.SourceGridDataListLog.Add(data2);
- switch (tabindex)
- {
- case 0:
- SMeasureInfo = FilterData(data);
- break;
- case 1:
- SMeasureInfo = FilterData(data1);
- break;
- case 2:
- SMeasureInfo = FilterData(data2);
- break;
- }
- m_ReportApp.SourceGridData = SMeasureInfo;
- }
- return true;
- }
- #endregion
- #region [测量结果treeview]相关封装方法
- /// <summary>
- /// 获取测量结果treeview树测量结果名
- /// </summary>
- /// <returns></returns>
- public string GetSampleName()
- {
- //获取样品名
- String sWorkSampleName = m_ReportApp.resultFilesList[m_ReportApp.WorkingResult].FileName;
- if (null == sWorkSampleName)
- {
- return "";
- }
- return sWorkSampleName;
- }
- #endregion
- #region 自定义方法相关
- /// <summary>
- /// 显示默认图表
- /// </summary>
- public void ShowsTheDefaultPic()
- {
- try
- {
- if (m_ReportApp.resultFilesList.Count > 0)
- {
- m_ReportApp.m_PropWindow.m_SampleGrid.ShowDataDiagram((int)m_ReportApp.m_PropWindow.tabIndex);
- }
- }
- catch (Exception ex)
- {
- //日记记录
- string str = ex.ToString();
- }
- }
- #endregion
- }
- }
|