private void InitializeControl() { _currentDS = ModelDesignProject.GetDataSource(_dsId); if (_currentDS.DefTables != null) { foreach (DefineTable defTB in _currentDS.DefTables) { TreeNode nodeDefTable = new TreeNode(); SetDefineTableNode(defTB, nodeDefTable); TreeNode nodeDTStruct; TreeNode nodeField; foreach (DataTableStruct dtStruct in defTB.TableStruct) { nodeDTStruct = new TreeNode(); SetTableStructNode(dtStruct, nodeDTStruct); foreach (LibField field in dtStruct.Fields) { nodeField = new TreeNode(); SetFieldNode(field, nodeField); nodeDTStruct.Nodes.Add(nodeField); } nodeDefTable.Nodes.Add(nodeDTStruct); } this.treeView1.Nodes["defineTableCollection"].Nodes.Add(nodeDefTable); } } else { _currentDS.DefTables = new SDPCRL.CORE.LibCollection <DefineTable>(); TreeNode nodeDefTable = new TreeNode(); DefineTable defTable = new DefineTable(); defTable.ID = DataSourceInfoBLL.GetMaxDefTBID(_dsId) + 1; defTable.TableName = "defineTable1"; defTable.DisplayName = "自定义数据表"; SetDefineTableNode(defTable, nodeDefTable); _currentDS.DefTables.Add(defTable); defTable.TableStruct = new SDPCRL.CORE.LibCollection <DataTableStruct>(); TreeNode tableStruct = new TreeNode(); nodeDefTable.Nodes.Add(tableStruct); DataTableStruct dbStruct = new DataTableStruct(); dbStruct.Name = "dataTableStruct1"; dbStruct.DisplayName = "数据表结构"; SetTableStructNode(dbStruct, tableStruct); defTable.TableStruct.Add(dbStruct); this.treeView1.Nodes["defineTableCollection"].Nodes.Add(nodeDefTable); this.treeView1.SelectedNode = tableStruct;; nodeDefTable.Expand(); } ModelDesignProject.CreateDS(_currentDS); }
private DefineTable GetDefTabale(string name) { DefineTable deftable = null; foreach (DefineTable deftb in _currentDS.DefTables) { if (string.Compare(deftb.TableName, name, true) == 0) { deftable = deftb; } } return(deftable); }
public Form1() { InitializeComponent(); //this.tabControl1.Appearance = TabAppearance.FlatButtons; #region DBModelOperation dbmodel = new DBModelOperation(); DataSource ds = new DataSource(); ds.DataSourceName = "datasourcename"; ds.DSID = 111111111; LibField field = new LibField(); field.Name = "字段名称1"; field.AliasName = "字段别名1"; field.DisplayName = "字段显示名称1"; LibField field2 = new LibField(); field2.Name = "字段名称2"; field2.AliasName = "字段别名2"; field2.DisplayName = "字段显示名称2"; DataTableStruct tablestruct = new DataTableStruct(); tablestruct.Name = "数据表结构"; tablestruct.Fields = new LibCollection <LibField>(); tablestruct.Fields.Add(field); tablestruct.Fields.Add(field2); DefineTable deftb = new DefineTable(); deftb.TableName = "zyy"; deftb.ID = 123456; deftb.TableStruct = new LibCollection <DataTableStruct>(); deftb.TableStruct.Add(tablestruct); //DefineTable deftb2 = new DefineTable(); //deftb2.TableName = "Ylr"; //deftb2.ID = "22222"; //PropertyInfo[] propertis = deftb.GetType().GetProperties(); //LibXmlAttributeAttribute attr = propertis[0].GetCustomAttributes(typeof(LibXmlAttributeAttribute), true)[0] as LibXmlAttributeAttribute; ds.DefTables = new LibCollection <DefineTable>(); ds.DefTables.Add(deftb); //ds.DefTables.Add(deftb2); ds.DefTables.Guid = "................"; SerializerUtils serial = new SerializerUtils(); string str = serial.XMLSerialize(ds); //SerializerUtils.xmlserialzaition(ds, string.Format(@"{0}\Models\DataSource\{1}", Environment.CurrentDirectory, "text.xml")); //XMLOperation xml = new XMLOperation(string.Format(@"{0}\Models\DataSource\{1}", Environment.CurrentDirectory, "text.xml")); //ILibXMLNodeRead noderead = xml.NodeRead("/DataSource/DefTables/DefineTable"); //while (!noderead.EOF) //{ // string test= noderead.InnerText; // string TableName = noderead.Attributions["TableName"]; // noderead.ReadNext(); //} //if (true) { // ExceptionManager.ThrowError("sdfsd"); //} //else { // int a = 0; // a = 88; //} #endregion //DAL.DBHelp.DataAccess.testsql(); //DAL.DBHelp.DataAccess.testsql(); }
/// <summary>设置自定义数据表节点属性</summary> /// <param name="defTable"></param> /// <param name="node"></param> private void SetDefineTableNode(DefineTable defTable, TreeNode node) { node.Name = defTable.TableName; node.Text = defTable.DisplayName; node.ContextMenuStrip = this.contextMenuStrip_defTB; }