Parcourir la source

报告程序多语言未完成

zhangjiaxin il y a 3 ans
Parent
commit
98f032cebd

+ 128 - 14
OTSCleanReportApp/FunctionClass/OTSDataMgrFunction/DataMgrFun.cs

@@ -7,6 +7,7 @@ using System.Collections.Generic;
 using System.Data;
 using System.IO;
 using System.Linq;
+using System.Xml;
 
 namespace OTSIncAReportApp.OTSDataMgrFunction
 {
@@ -196,37 +197,150 @@ namespace OTSIncAReportApp.OTSDataMgrFunction
 
         #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();
-                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();
+                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 = sSCaptionName2;//测量图类型
+                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", sSCaptionName13, "Original", "原图颗粒分布" };//bse,颗粒分类图
+                sampleData1.comboDownList = new List<string>() { "BSE", table["sscaptionname13"].ToString(), "Original", "原图颗粒分布"};//bse,颗粒分类图
                 list.Add(sampleData1);
 
                 //测量图类型

+ 4 - 0
OTSCleanReportApp/OTSCleanReportApp.csproj

@@ -1325,6 +1325,10 @@
       <Project>{490a8592-7b13-4536-b475-028e73007fae}</Project>
       <Name>OTSClrInterface</Name>
     </ProjectReference>
+    <ProjectReference Include="..\OTSIncAReportApp\OTSIncAReportApp.csproj">
+      <Project>{A3059BB1-9315-49DB-9680-FE16FAB1499D}</Project>
+      <Name>OTSIncAReportApp</Name>
+    </ProjectReference>
     <ProjectReference Include="..\OTSSysMgrTools\OTSSysMgrTools.csproj">
       <Project>{3b7695aa-8231-45ac-b493-84390a945d02}</Project>
       <Name>OTSSysMgrTools</Name>

+ 7 - 66
OTSIncAMeasureApp/0-OTSModel/OTSDataType/XmlResourceData.cs

@@ -78,25 +78,7 @@ namespace OTSDataType
             root = doc1.SelectSingleNode("XMLData");
             root2 = root.SelectSingleNode("collection");
 
-            //XmlDocument doc2 = new XmlDocument();
-            //if (ss == "EN")
-            //{
-            //    doc2.Load(".\\Resources\\XMLData\\ResourceForCpp\\ResourceForCpp-EN.xml");//载入xml文件
-            //}
-            //else if (ss == "ZH")
-            //{
-            //    doc2.Load(".\\Resources\\XMLData\\ResourceForCpp\\ResourceForCpp-ZH.xml");//载入xml文件
-            //}
-
-            //XmlNode root1 = doc1.DocumentElement;
-            ////合并两个Xml文档中的collection节点内容 
-            //root = doc2.SelectSingleNode("XMLData");
-            //XmlNode xnl = root.SelectSingleNode("collection");
-            //foreach (XmlNode xnItem in xnl)
-            //{
-            //    XmlNode rootTemp = doc1.ImportNode(xnItem, true);
-            //    root2.AppendChild(rootTemp);
-            //}
+           
             XmlNodeList childlist = root2.ChildNodes;
             for (int i = 0; i < childlist.Count; i++)
             {
@@ -151,56 +133,15 @@ namespace OTSDataType
             }
             return true;
         }
-        //public bool SaveStringToXml()
-        //{
-        //    if (File.Exists(".\\OPTON\\OTSIncA\\SysData\\MultiLangForCpp.xml"))
-        //    {
-        //        XDocument xdoc = XDocument.Load(".\\OPTON\\OTSIncA\\SysData\\MultiLangForCpp.xml");
-
-        //        IEnumerable<XElement> elements = from ele in xdoc.Descendants("collection") select ele;
-        //        foreach (var ele in elements)
-        //        {
-        //            if (ele != null)
-        //            {
-        //                ele.RemoveAll();
-        //            }
-        //        }
-
-        //        IEnumerable<XElement> cls = from ele in xdoc.Descendants("collection") select ele;
-
-        //        foreach (KeyValuePair<int, string> kvp in mapMultiLang)
-        //        {
-        //            XElement EleName = new XElement("member");
-        //            EleName.SetAttributeValue("itemKey", kvp.Key.ToString());
-        //            EleName.SetAttributeValue("itemName", "");
-        //            EleName.SetAttributeValue("itemText", kvp.Value.ToString());
-        //            cls.First().Add(EleName);
-        //        }
-        //        xdoc.Save(".\\OPTON\\OTSIncA\\SysData\\MultiLangForCpp.xml");
-        //    }
-        //    else
-        //    {
-        //        XDocument xdoc = new XDocument();
-        //        XElement root = new XElement("XMLData");
-        //        XElement cls = new XElement("collection");
-        //        foreach (KeyValuePair<int, string> kvp in mapMultiLang)
-        //        {
-        //            XElement EleName = new XElement("member");
-        //            EleName.SetAttributeValue("itemKey", kvp.Key.ToString());
-        //            EleName.SetAttributeValue("itemName", "");
-        //            EleName.SetAttributeValue("itemText", kvp.Value.ToString());
-        //            cls.Add(EleName);
-        //        }
-        //        root.Add(cls); 
-        //        xdoc.Add(root); 
-        //        xdoc.Save(".\\OPTON\\OTSIncA\\SysData\\MultiLangForCpp.xml");
-        //    }
-        //    return true;
-        //}
+       
         public static XmlResourceData GetInstance()
         {
             //static MultiLang instance;
-            instance.LoadStringFromXml();
+            if (instance == null)
+            {
+                instance.LoadStringFromXml();
+            }
+           
             return instance;
         }
 

+ 108 - 226
OTSIncAReportApp/FunctionClass/OTSDataMgrFunction/DataMgrFun.cs

@@ -195,6 +195,53 @@ namespace OTSIncAReportApp.OTSDataMgrFunction
         #endregion
 
         #region [属性选项Grid窗体]相关封装方法
+
+        /// <summary>
+        /// 界面显示Grid
+        /// </summary>
+        private SampleData NewGridData(int tbindex, OTS_REPORT_PROP_GRID_ITEMS iItemId, string sSCaptionName, OTS_ITEM_TYPES iItemValType, bool bReadOnly, string sDescriptionInfo, object itemVal, List<string> comboDownList)
+        {
+            string text = "";
+            string des = "" ;
+            string downlist = "";
+            //OTSDataType.XmlResourceData.GetInstance().GetStringByKey(tbindex, 20000,ref text, ref des, ref downlist);
+            SampleData sampleData = new SampleData();
+            sampleData.iItemId = iItemId;
+            sampleData.sSCaptionName = sSCaptionName;
+            sampleData.iItemValType = iItemValType;
+            sampleData.bReadOnly = bReadOnly;
+            sampleData.sDescriptionInfo = des;
+
+            //if (comboDownList.Count==0)
+            //{
+            //    List<string> liststr = new List<string>();
+            //    if (downlist!="")
+            //    {
+            //        string[] arrTemp = downlist.Split(',');
+            //        for (int i = 0; i < arrTemp.Count(); i++)
+            //        {
+            //            liststr.Add(arrTemp[i]);
+            //        }
+            //        sampleData.itemVal = liststr[0];
+            //        sampleData.comboDownList = liststr;
+            //    }
+            //    else
+            //    {
+            //        sampleData.itemVal = "0";
+            //        sampleData.comboDownList = liststr;
+            //    }
+               
+            //}
+            //else
+            //{
+                sampleData.itemVal = itemVal;
+                sampleData.comboDownList = comboDownList;
+            //}
+           
+            return sampleData;
+        }
+
+
         /// <summary>
         /// 初始化加载sourceGrid各项
         /// </summary>
@@ -207,288 +254,123 @@ namespace OTSIncAReportApp.OTSDataMgrFunction
             {
                 //测量结果数据
                 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 = sSCaptionName2;//测量图类型
-                sampleData1.iItemValType = OTS_ITEM_TYPES.COMBO;
-                sampleData1.bReadOnly = false;
-                sampleData1.sDescriptionInfo = "Survey Chart Type";
-                sampleData1.itemVal = "BSE";
-                sampleData1.comboDownList = new List<string>() { "BSE", sSCaptionName13, "Original", "原图颗粒分布" };//bse,颗粒分类图
-                list.Add(sampleData1);
+             
+                list.Add(NewGridData(tbindex, 0, table["sscaptionname1"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Select Measurement Result", list_source_str[m_ReportApp.WorkingResult], list_source_str));
+
+
+                //bse,颗粒分类图
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.IMAGE_TYPE, table["sscaptionname2"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Survey Chart Type", "BSE", new List<string>() { "BSE", table["sscaptionname13"].ToString(), "Original", "原图颗粒分布" }));
 
                 //测量图类型
-                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);
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.IMAGE_DISPLAY_TYPE, table["sscaptionname3"].ToString(), OTS_ITEM_TYPES.COMBO, false, "chart display mode", table["sscaptionname14"].ToString(), new List<string>() { table["sscaptionname14"].ToString(), table["sscaptionname15"].ToString() }));
 
                 //测量图显示方式
-                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);
+               
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.PARTICLE_TYPE, table["sscaptionname4"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Particle Type", table["sscaptionname16"].ToString(), new List<string>() { table["sscaptionname16"].ToString(), table["sscaptionname17"].ToString() }));
 
 
                 //粒级表
-                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);
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, "粒级表", OTS_ITEM_TYPES.COMBO, false, "Particle Table", list_partsizelist[0], list_partsizelist));
 
                 //粒级
-                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);
+                
+                List<string> sizeList = GetPartSizeList();//获取粒级后额外增加全部,自定义,选项
+                sizeList.Insert(0, table["sscaptionname16"].ToString());//全部
+                sizeList.Insert(1, table["sscaptionname18"].ToString());//自定义
+
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS, table["sscaptionname5"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Grain Size", table["sscaptionname16"].ToString(), sizeList));
 
                 //自定义最小
-                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);
+               
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MIN, table["sscaptionname6"].ToString(), OTS_ITEM_TYPES.DOUBLE, false, "Smallest Particle", "0",new List<string> { }));
 
                 //自定义最大
-                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);
+               
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_MAX, table["sscaptionname7"].ToString(), OTS_ITEM_TYPES.DOUBLE, false, "Maximum Particle","0",new List<string> { }));
 
                 //测量数据
-                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);
+                
+                List<string> list3 = new List<string>() { table["sscaptionname19"].ToString(), table["sscaptionname20"].ToString(), table["sscaptionname21"].ToString() };
+               
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.MEASURE_DATA_TYPE, table["sscaptionname22"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Measured Data", list3[0], list3));
 
                 //计算方式
-                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);
+               
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, table["sscaptionname8"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Dimension calculation method", "DMAX", GetSizeCalMethodTypeList()));
             }
             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.Add(NewGridData(tbindex,0, table["sscaptionname1"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Select Measurement Result", list_source_str[m_ReportApp.WorkingResult], list_source_str));
 
                 //数据类型
                 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);
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE, table["sscaptionname9"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Data Type", list_datasourcetypelist[0], list_datasourcetypelist));
 
                 //数据表类型
-                string sSCaptionName10 = table["sscaptionname10"].ToString();
+                //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('-');
                 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);
+
+
+               
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_TABLE_TYPE, table["sscaptionname10"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Data table type", list2[0], list2));
 
                 //粒级表
-                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);
+              
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, "粒级表", OTS_ITEM_TYPES.COMBO, false, "Particle Table", list_partsizelist[0], list_partsizelist));
 
                 //尺寸计算方法
-                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);
+              
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, table["sscaptionname8"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Dimension Calculation Method", "DMAX", GetSizeCalMethodTypeList()));
             }
             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.Add(NewGridData(tbindex,0, table["sscaptionname1"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Select Measurement Result", list_source_str[m_ReportApp.WorkingResult], list_source_str));
 
                 //数据类型
                 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);
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.DATA_SOURCE_TYPE, table["sscaptionname9"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Data Type", list_datasourcetypelist[0], list_datasourcetypelist));
 
                 //数据图类型
-                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);
+              
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.CALCULATE_CHART_TYPE, table["sscaptionname10"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Data graph type", list2[0], list2));
 
                 //三元相图模板
-                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);
+               
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.TRIO_CHART_TYPE, table["sscaptionname12"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Ternary phase diagram", trio_listname.First(), trio_listname));
 
                 //粒级表
-                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);
+                
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.GRAIN_SIZE_CLASS_TABLE, "粒级表", OTS_ITEM_TYPES.COMBO, false, "Particle Table", list_partsizelist[0], list_partsizelist));
 
                 //尺寸计算法
-                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);
+              
+                list.Add(NewGridData(tbindex,OTS_REPORT_PROP_GRID_ITEMS.SIZE_CAL_METHOD_TYPE, table["sscaptionname8"].ToString(), OTS_ITEM_TYPES.COMBO, false, "Dimension Calculation Method", "DMAX", GetSizeCalMethodTypeList()));
             }
 
             return list;

+ 1 - 0
OTSIncAReportApp/OTSIncAReportApp.csproj

@@ -527,6 +527,7 @@
     <Compile Include="FunctionClass\Common\Language.cs" />
     <Compile Include="FunctionClass\Common\OTSSysSTDMgrClass.cs" />
     <Compile Include="ServiceCenter\SemController.cs" />
+    <Compile Include="XmlResourceData.cs" />
     <EmbeddedResource Include="Control_Grids\ParticlesGridDevidePage.resx">
       <DependentUpon>ParticlesGridDevidePage.cs</DependentUpon>
     </EmbeddedResource>