You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
137 lines
4.3 KiB
C#
137 lines
4.3 KiB
C#
using DevExpress.CodeParser;
|
|
using GeoSigmaDrawLib;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using System.Windows.Shapes;
|
|
using System.Xml;
|
|
//using System.Xml.Linq;
|
|
|
|
namespace GeoSigma.UCDraw.WellAndSection
|
|
{
|
|
public partial class FrmInterpretResultSymbol : Form
|
|
{
|
|
|
|
XmlDocument m_xmlDoc;
|
|
public DataTable m_Datas;
|
|
public string m_filePath = "";
|
|
public FrmInterpretResultSymbol()
|
|
{
|
|
InitializeComponent();
|
|
|
|
m_Datas = new DataTable();
|
|
|
|
dataGridView1.EnableHeadersVisualStyles = false;
|
|
dataGridView1.ColumnHeadersDefaultCellStyle.BackColor = Color.AliceBlue;
|
|
dataGridView1.RowHeadersDefaultCellStyle.BackColor = Color.Azure;
|
|
}
|
|
|
|
private void btnOk_Click(object sender, EventArgs e)
|
|
{
|
|
System.Xml.XmlNode resultsNode = m_xmlDoc.SelectSingleNode("/Root/InterpretResults");
|
|
resultsNode.RemoveAll();
|
|
|
|
for(int i = 0; i< m_Datas.Rows.Count; i++)
|
|
{
|
|
DataRow rw = m_Datas.Rows[i];
|
|
string name = rw[0].ToString();
|
|
string value = rw[1].ToString();
|
|
|
|
System.Xml.XmlElement te = m_xmlDoc.CreateElement("Sybmol");
|
|
resultsNode.AppendChild(te);
|
|
|
|
te.SetAttribute("name", name);
|
|
te.SetAttribute("otherValue", value);
|
|
}
|
|
|
|
m_xmlDoc.Save(m_filePath);
|
|
}
|
|
|
|
private void FrmInterpretResultSymbol_Shown(object sender, EventArgs e)
|
|
{
|
|
string appDir = AppDomain.CurrentDomain.BaseDirectory;
|
|
m_filePath = appDir + "WellInterpretResult.xml";
|
|
|
|
m_xmlDoc = new XmlDocument();
|
|
|
|
bool bOpen = false;
|
|
if(File.Exists(m_filePath))
|
|
{
|
|
try
|
|
{
|
|
var reader = new StreamReader(m_filePath, Encoding.UTF8);
|
|
// m_xmlDoc.LoadXml(m_filePath);
|
|
m_xmlDoc.Load(reader);
|
|
bOpen = true;
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
Console.WriteLine("文件错误。");
|
|
}
|
|
}
|
|
|
|
if(bOpen == false)
|
|
{
|
|
XmlDeclaration xmlDecl = m_xmlDoc.CreateXmlDeclaration("1.0", "utf-8", null);
|
|
m_xmlDoc.AppendChild(xmlDecl);
|
|
|
|
System.Xml.XmlElement root = m_xmlDoc.CreateElement("Root");
|
|
m_xmlDoc.AppendChild(root);
|
|
|
|
System.Xml.XmlElement xmlEresults = m_xmlDoc.CreateElement("InterpretResults");
|
|
root.AppendChild(xmlEresults);
|
|
|
|
GeoSigmaWellPoleXY.GetSymbolNamesForResult(out string[] NamesArr);
|
|
|
|
for(int i = 0; i < NamesArr.Length; i++)
|
|
{
|
|
System.Xml.XmlElement te = m_xmlDoc.CreateElement("Sybmol");
|
|
xmlEresults.AppendChild(te);
|
|
|
|
te.SetAttribute("name", NamesArr[i]);
|
|
te.SetAttribute("otherValue", "");
|
|
}
|
|
}
|
|
|
|
DataColumn col = new DataColumn("名称" , typeof(string));
|
|
m_Datas.Columns.Add(col);
|
|
|
|
col = new DataColumn("映射值", typeof(string));
|
|
m_Datas.Columns.Add(col);
|
|
|
|
try
|
|
{
|
|
System.Xml.XmlNode resultsNode = m_xmlDoc.SelectSingleNode("/Root/InterpretResults");
|
|
if (resultsNode != null)
|
|
{
|
|
foreach (System.Xml.XmlNode child in resultsNode.ChildNodes)
|
|
{
|
|
string name = child.Attributes["name"].Value;
|
|
string value = child.Attributes["otherValue"].Value;
|
|
|
|
DataRow dr = m_Datas.NewRow();
|
|
dr[0] = name;
|
|
dr[1] = value;
|
|
|
|
m_Datas.Rows.Add(dr);
|
|
}
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
|
|
}
|
|
dataGridView1.DataSource = m_Datas.DefaultView;
|
|
dataGridView1.Columns[0].ReadOnly = true;
|
|
dataGridView1.Columns[0].DefaultCellStyle.BackColor = Color.LightGray;
|
|
}
|
|
}
|
|
}
|