예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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();
        }
예제 #4
0
 /// <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;
 }