Added code to resolve reference object links in grids
This commit is contained in:
		| @@ -46,6 +46,11 @@ namespace DataLoader | ||||
|       PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database; | ||||
|       if (!Directory.Exists(PEIPath)) | ||||
|         Directory.CreateDirectory(PEIPath); | ||||
|       if (MyFolder.ChildFolderCount == 0) | ||||
|       { | ||||
|         Directory.Delete(PEIPath, true); | ||||
|         Directory.CreateDirectory(PEIPath); | ||||
|       } | ||||
|       pnlExport.Dock = DockStyle.Fill; | ||||
| 			pnlImport.Dock = DockStyle.Fill; | ||||
|       if (_MyMode.ToLower() == "export") | ||||
| @@ -2506,7 +2511,33 @@ namespace DataLoader | ||||
| 		{ | ||||
| 			XmlNode nd = xc.SelectSingleNode("grid"); | ||||
| 			string data = nd.Attributes.GetNamedItem("data").InnerText; | ||||
| 			string config = nd.Attributes.GetNamedItem("config").InnerText; | ||||
|       XmlDocument xd = new XmlDocument(); | ||||
|       xd.LoadXml(data); | ||||
|       XmlNode gn = xd.SelectSingleNode("C1FlexGrid/Control/IsRoTable"); | ||||
|       if (gn.InnerText.ToLower() == "true") | ||||
|       { | ||||
|         gn = xd.SelectSingleNode("C1FlexGrid/Control/RODbId"); | ||||
|         gn.InnerText = newRODbID.ToString(); | ||||
|         data = xd.OuterXml; | ||||
|       } | ||||
|       else | ||||
|       { | ||||
|         XmlNodeList nl = xd.SelectNodes("C1FlexGrid/Cells/Cell/Data"); | ||||
|         bool modified = false; | ||||
|         string lookFor = string.Format(" {0}[END", oldRODbID.ToString()); | ||||
|         string replaceWith = string.Format(" {0}[END", newRODbID.ToString()); | ||||
|         foreach (XmlNode nn in nl) | ||||
|         { | ||||
|           if (nn.InnerText.Contains("#Link:ReferencedObject:")) | ||||
|           { | ||||
|             nn.InnerText = nn.InnerText.Replace(lookFor, replaceWith); | ||||
|             modified = true; | ||||
|           } | ||||
|         } | ||||
|         if (modified) | ||||
|           data = xd.OuterXml; | ||||
|       } | ||||
|       string config = nd.Attributes.GetNamedItem("config").InnerText; | ||||
| 			string userid = nd.Attributes.GetNamedItem("userid").InnerText; | ||||
| 			DateTime dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText); | ||||
| 			Grid gg = Grid.MakeGrid(content, data, config, dts, userid); | ||||
|   | ||||
| @@ -51,6 +51,11 @@ namespace VEPROMS | ||||
|       PEIPath = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + @"\VEPROMS\PEI_" + Database.VEPROMS_SqlConnection.Database; | ||||
|       if (!Directory.Exists(PEIPath)) | ||||
|         Directory.CreateDirectory(PEIPath); | ||||
|       if (MyFolder.ChildFolderCount == 0) | ||||
|       { | ||||
|         Directory.Delete(PEIPath,true); | ||||
|         Directory.CreateDirectory(PEIPath); | ||||
|       } | ||||
|       pnlExport.Dock = DockStyle.Fill; | ||||
| 			pnlImport.Dock = DockStyle.Fill; | ||||
|       if (_MyMode.ToLower() == "export") | ||||
| @@ -2512,6 +2517,32 @@ namespace VEPROMS | ||||
| 		{ | ||||
| 			XmlNode nd = xc.SelectSingleNode("grid"); | ||||
| 			string data = nd.Attributes.GetNamedItem("data").InnerText; | ||||
|       XmlDocument xd = new XmlDocument(); | ||||
|       xd.LoadXml(data); | ||||
|       XmlNode gn = xd.SelectSingleNode("C1FlexGrid/Control/IsRoTable"); | ||||
|       if (gn.InnerText.ToLower() == "true") | ||||
|       { | ||||
|         gn = xd.SelectSingleNode("C1FlexGrid/Control/RODbId"); | ||||
|         gn.InnerText = newRODbID.ToString(); | ||||
|         data = xd.OuterXml; | ||||
|       } | ||||
|       else | ||||
|       { | ||||
|         XmlNodeList nl = xd.SelectNodes("C1FlexGrid/Cells/Cell/Data"); | ||||
|         bool modified = false; | ||||
|         string lookFor = string.Format(" {0}[END", oldRODbID.ToString()); | ||||
|         string replaceWith = string.Format(" {0}[END", newRODbID.ToString()); | ||||
|         foreach (XmlNode nn in nl) | ||||
|         { | ||||
|           if (nn.InnerText.Contains("#Link:ReferencedObject:")) | ||||
|           { | ||||
|             nn.InnerText = nn.InnerText.Replace(lookFor, replaceWith); | ||||
|             modified = true; | ||||
|           } | ||||
|         } | ||||
|         if(modified) | ||||
|           data = xd.OuterXml; | ||||
|       } | ||||
| 			string config = nd.Attributes.GetNamedItem("config").InnerText; | ||||
| 			string userid = nd.Attributes.GetNamedItem("userid").InnerText; | ||||
| 			DateTime dts = DateTime.Parse(nd.Attributes.GetNamedItem("dts").InnerText); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Rich
					Rich