📄 fieldediterconfig.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using System.IO;
using System.Reflection;
using System.Data.SqlClient;
using System.Xml;
using System.Threading;
namespace LC_DataIO
{
public partial class FieldEditerConfig : Form
{
public FieldEditerConfig()
{
InitializeComponent();
allformater=getAllFormater();
types.Add("数字");
types.Add("字符串");
types.Add("日期");
}
private Hashtable allformater = null;
public static Hashtable SourceFields = new Hashtable();
public static Hashtable DesFields = new Hashtable();
private ArrayList types = new ArrayList();
Thread t;
public static ArrayList allrows = new ArrayList();
private void pre_btn_Click(object sender, EventArgs e)
{
WizardFrm.wizard.choseWizard("字段选择编辑");
}
private Hashtable getAllFormater()
{
Hashtable allmehtods=new Hashtable();
string[] files = Directory.GetFiles(Application.StartupPath + "//formatdll");
Assembly temp;
for (int i = 0; i < files.Length; i++)
{
temp = Assembly.LoadFrom(files[i].ToString());
if (temp != null)
{
Type[] t = temp.GetTypes();
MethodInfo[] mi =t[0].GetMethods();
for (int k = 0; k < mi.Length; k++)
{
allmehtods.Add(t[i].Name.ToString() +":"+ mi[k].Name.ToString(), mi[k]);
}
}
}
return allmehtods;
}
private void FieldEditerConfig_Load(object sender, EventArgs e)
{
init();
}
public void init()
{
loadallsourceField();
loadallDesField();
}
private void loadallsourceField()
{
Field temp=null;
this.dbsource_panel.Controls.Clear();
SourceFields.Clear();
for (int i = 0; i < FieldsConfig.sourcereadyfield.Count; i++)
{
temp = new Field(1);
temp.Formaters = allformater;
temp.FieldName = FieldsConfig.sourcereadyfield[i].ToString();
temp.Location = new Point(10,10+i*50);
SourceFields.Add(FieldsConfig.sourcereadyfield[i].ToString(),temp);
this.dbsource_panel.Controls.Add(temp);
}
}
private void loadallDesField()
{
this.desfields_panel.Controls.Clear();
DesFields.Clear();
Field temp = null;
for (int i = 0; i < FieldsConfig.deseadyfield.Count; i++)
{
temp = new Field(0);
temp.Types = types;
temp.FieldName = FieldsConfig.deseadyfield[i].ToString();
temp.Location = new Point(10, 10 + i * 50);
DesFields.Add(FieldsConfig.deseadyfield[i].ToString(), temp);
this.desfields_panel.Controls.Add(temp);
}
}
private void next_btn_Click(object sender, EventArgs e)
{
LC_DataIo.wf.Close();
t= new Thread(new ThreadStart(threadc));
t.Start();
}
private void threadc()
{
DataTable dt = HeadPage.ConverterXml.sourceToXml(TableConfig.SourceReadyTable, FieldsConfig.sourcereadyfield);
XmlDocument xmldoc;
XmlNode xmlnode;
XmlElement xmlroot;
XmlElement xmlfield;
XmlText xmlfieldtext;
xmldoc = new XmlDocument();
//加入XML的声明段落
xmlnode = xmldoc.CreateNode(XmlNodeType.XmlDeclaration, "", "");
xmldoc.AppendChild(xmlnode);
//加入一个根元素
xmlroot = xmldoc.CreateElement("", "ROOT", "");
xmldoc.AppendChild(xmlroot);
//加入另外一个元素
XmlElement field;
XmlText fieldtext;
for (int i = 0; i < dt.Rows.Count; i++)
{
xmlfield = xmldoc.CreateElement("Rows");
for (int k = 0; k < FieldsConfig.sourcereadyfield.Count; k++)
{
string f = FieldsConfig.deseadyfield[k].ToString();
string s = FieldsConfig.sourcereadyfield[k].ToString();
field = xmldoc.CreateElement(f);
fieldtext = xmldoc.CreateTextNode(((Field)(SourceFields[s])).getFormatSourceStr(dt.Rows[i].ItemArray[k].ToString()));
field.SetAttribute("type", ((Field)(DesFields[f])).Type);
field.AppendChild(fieldtext);
xmlfield.AppendChild(field);
}
xmldoc.ChildNodes.Item(1).AppendChild(xmlfield);
}
xmlfield = xmldoc.CreateElement("Rows");
xmldoc.ChildNodes.Item(1).AppendChild(xmlfield);
//保存创建好的XML文档
try
{
xmldoc.Save(Application.StartupPath + "//data//temp.xml");
}
catch (Exception ee)
{
}
allrows = XmlManager.getRows();
LC_DataIo.ld.startWrite();
t.Join();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -