Example #1
0
        private void listBox2_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (this.listBox2.SelectedItem == null)
            {
                return;
            }
            string[] array = this.listBox2.SelectedItem.ToString().Split(SysConstManage.Point);
            string   tbnm  = array[0];
            string   fldnm = array[1];
            var      table = _tableStructs.FirstOrDefault(i => i.Name == tbnm);

            if (table != null)
            {
                var o = _relateFields.FirstOrDefault(i => i.FromTableIndex == table.TableIndex && i.FieldNm == fldnm);
                if (o != null)
                {
                    RelateFieldProperty property = (RelateFieldProperty)this.splitContainer1.Panel2.Controls[o.ID];
                    //var exist= _rfieldPropertylist.FirstOrDefault(i => i.Name == o.ID);
                    if (property == null)
                    {
                        property      = new RelateFieldProperty(o.ID);
                        property.Dock = DockStyle.Fill;
                        property.SetPropertyValue(o, null);
                        _rfieldPropertylist.Add(property);
                        this.splitContainer1.Panel2.Controls.Add(property);
                    }
                    ModelDesignProject.SetControlVisible((Control)property, this.splitContainer1.Panel2.Controls);
                }
            }
        }
Example #2
0
        /// <summary>创建数据源</summary>
        /// <param name="args"></param>
        private void AddDS(Dictionary <object, object> args)
        {
            TreeNode dsNode = null;

            if (args != null && args.Count > 0)
            {
                dsNode      = new TreeNode();
                dsNode.Name = args["DSName"].ToString();
                dsNode.Text = args["DSDisplayText"].ToString();
            }
            if (dsNode != null)
            {
                this.tableStructTree.Nodes[0].Nodes.Add(dsNode);
                dsNode.Checked = true;
                int dsId = 0;
                Int32.TryParse(args["DSID"].ToString(), out dsId);
                this.tableStructTree.SelectedNode = dsNode;
                this.txtDSId.Text          = dsId.ToString();
                this.txtDSName.Text        = args["DSName"].ToString();
                this.txtDSdisplaytext.Text = args["DSDisplayText"].ToString();
                this.txtDSPackage.Text     = args["DSPackage"].ToString();

                DataSource ds = new DataSource();
                ds.DSID           = dsId;
                ds.DataSourceName = args["DSName"].ToString();
                //ds.DSDisplayText = args["DSDisplayText"].ToString();
                ds.Package = args["DSPackage"].ToString();
                ModelDesignProject.CreateDS(ds);
            }
        }
Example #3
0
        private void TransSourceControl_Load(object sender, EventArgs e)
        {
            _Trans = ModelDesignProject.GetLibTransSourceById(_funNode.Name);
            //_tranproperty = new TransProperty();

            LibTreeNode transNode = new LibTreeNode();

            transNode.Name     = _funNode.Name;
            transNode.Text     = ReSourceManage.GetResource(NodeType.TransSetting);
            transNode.NodeType = NodeType.TransSetting;
            transNode.Tag      = _Trans;
            if (_Trans.TransFields != null)
            {
                foreach (LibTransFieldMap field in _Trans.TransFields)
                {
                    #region 创建转单字段节点
                    LibTreeNode transfield = new LibTreeNode();
                    transfield.NodeType = NodeType.TransField;
                    transfield.NodeId   = field.ID;
                    transfield.Name     = field.SrcFieldNm;
                    transfield.Text     = field.SrcFieldNm;
                    transNode.Nodes.Add(transfield);
                    #endregion
                }
            }
            this.treeView1.Nodes.Add(transNode);
            this.treeView1.SelectedNode = transNode;
        }
Example #4
0
        private void 多语言配置ToolStripMenuItem_Click(object sender, EventArgs e)
        {
            SDPCRL.COM.ModelManager.LibDataSource            ds = null;
            SDPCRL.COM.ModelManager.FormTemplate.LibFormPage fm = null;
            SDPCRL.COM.ModelManager.LibKeyValueCollection    keyvaluecollection = null;
            TabPage page = this.libTabControl1.SelectedTab;

            if (page != null)
            {
                string[] nameAndtype = page.Name.Split(SysConstManage.Underline);
                NodeType ntype       = LibSysUtils.ConvertToEnumType <NodeType>(nameAndtype[1]);
                switch (ntype)
                {
                case NodeType.DataModel:
                    ds = ModelDesignProject.GetDataSourceById(nameAndtype[0]);
                    break;

                case NodeType.FormModel:
                    fm = ModelDesignProject.GetFormSourceByFormId(nameAndtype[0]);
                    if (fm != null && !string.IsNullOrEmpty(fm.DSID))
                    {
                        ds = ModelDesignProject.GetDataSourceById(fm.DSID);
                    }
                    break;

                case NodeType.KeyValues:
                    keyvaluecollection = ModelDesignProject.GetKeyvaluesByid(nameAndtype[0]);
                    break;
                }
            }
            WakeUpForm <LanguageConfig>("language", ds, fm, keyvaluecollection);
        }
Example #5
0
 private void nodeSelected(TreeNode node)
 {
     if (node.Level != 0)
     {
         DataSource dataSource = ModelDesignProject.GetDataSource(node.Name.Trim());
         SetValue(dataSource);
     }
 }
Example #6
0
 /// <summary>验证数据有效性</summary>
 private void InvalidateValue()
 {
     if (ModelDesignProject.ExistId(LibSysUtils.ToInt32(this.txtDSID.Text.Trim())))
     {
         ExceptionManager.ThrowError("该DSID已存在");
         //return;
     }
     if (ModelDesignProject.ExistDSName(this.txtDSName.Text.Trim()))
     {
         ExceptionManager.ThrowError("该数据源名称已经存在");
     }
 }
Example #7
0
        private void txtClassNm_Leave(object sender, EventArgs e)
        {
            LibTreeNode libNode = (LibTreeNode)this.treeView1.SelectedNode;

            if (libNode != null)
            {
                if (libNode.NodeType == NodeType.Class)
                {
                    ModelDesignProject.UpdateXmlNode(libNode);
                }
            }
        }
Example #8
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);
        }
Example #9
0
 public FromSourceControl(LibFromSourceField[] sourceFields)
     : this()
 {
     foreach (LibFromSourceField item in sourceFields)
     {
         this.listBox1.Items.Add(item);
         FromSourceProperty sourceProperty = new FromSourceProperty(item.ID);
         sourceProperty.Dock = DockStyle.Fill;
         this.splitContainer1.Panel2.Controls.Add(sourceProperty);
         sourceProperty.SetPropertyValue(item, null);
         ModelDesignProject.SetControlVisible(sourceProperty, this.splitContainer1.Panel2.Controls);
     }
 }
Example #10
0
        /// <summary>初始化树结构</summary>
        private void InitialDefineTable()
        {
            List <DataSource> dsList = ModelDesignProject.GetDataSourceList();
            TreeNode          dsNode = null;

            foreach (DataSource item in dsList)
            {
                dsNode      = new TreeNode();
                dsNode.Name = item.DataSourceName;
                //dsNode.Text = item.DSDisplayText;
                this.tableStructTree.Nodes[0].Nodes.Add(dsNode);
            }
        }
Example #11
0
        /// <summary>
        /// 新增按钮点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Button1_Click(object sender, EventArgs e)
        {
            LibFromSourceField fromSourceField = new LibFromSourceField();

            fromSourceField.ID = Guid.NewGuid().ToString();
            this.listBox1.Items.Add(fromSourceField);
            FromSourceProperty sourceProperty = new FromSourceProperty(fromSourceField.ID);

            sourceProperty.Dock = DockStyle.Fill;
            this.splitContainer1.Panel2.Controls.Add(sourceProperty);
            sourceProperty.SetPropertyValue(fromSourceField, null);
            ModelDesignProject.SetControlVisible(sourceProperty, this.splitContainer1.Panel2.Controls);
            //SetPanel2ControlsVisible(sourceProperty);
        }
Example #12
0
        /// <summary>
        /// 快捷菜单contextMenuStrip1 项点击事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            LibTreeNode currentnode = (LibTreeNode)this.treeView1.SelectedNode;

            switch (e.ClickedItem.Name)
            {
            case "CreatClassToolStripMenuItem":     //新建分类
                if (currentnode != null)
                {
                    LibTreeNode node = new LibTreeNode(string.Format("新建分类{0}", index++));
                    node.NodeType     = NodeType.Class;
                    node.Name         = node.Text;
                    node.OriginalName = node.Text;
                    this.treeView1.SelectedNode.Nodes.Add(node);
                    this.treeView1.SelectedNode = node;

                    ModelDesignProject.AddXmlNode(node);
                }
                else
                {
                    MessageHandle.ShowMessage("未选中节点", true);
                }
                break;

            case "CreateFuncToolStripMenuItem":     //新建功能
                //WakeUpForm<DSAdd>("DSAdd", 1, 2);
                WakeUpForm <CreateFunc>("CreateFunc", 2, 1);
                break;

            case "RefreshToolStripMenuItem":    //刷新
                ModelDesignProject.GetChildNode(currentnode);
                this.treeView1.Refresh();
                break;

            case "addfuncToolStripMenuItem":    //添加功能
                break;

            case "deleteToolStripMenuItem":    //删除节点
                if (currentnode != null)
                {
                    ModelDesignProject.DeleteXmlNode(currentnode);
                    currentnode.Remove();
                }
                else
                {
                    MessageHandle.ShowMessage("未选要删除的节点", true);
                }
                break;
            }
        }
Example #13
0
        private void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
        {
            ListBox            box         = sender as ListBox;
            LibFromSourceField selectfield = box.SelectedItem as LibFromSourceField;

            foreach (Control item in this.splitContainer1.Panel2.Controls)
            {
                if (item.Name == selectfield.ID)
                {
                    ModelDesignProject.SetControlVisible(item, this.splitContainer1.Panel2.Controls);
                    break;
                }
            }
        }
Example #14
0
 public void CreateTableStructToDB()
 {
     //foreach (TBStructProperty tbstruct in _tbStructPropertylst)
     //{
     //    tbstruct.CreateTableStruct();
     //}
     foreach (LibDefineTable deftb in _ds.DefTables)
     {
         foreach (LibDataTableStruct tb in deftb.TableStruct)
         {
             ModelDesignProject.UpdateTableStruct(tb);
         }
     }
 }
Example #15
0
 private void KeyValuesControl_Load(object sender, EventArgs e)
 {
     this._keyvalus         = ModelDesignProject.GetKeyvaluesByid(this._funNode.Name);
     this._keyvalus.Package = this._funNode.Package;
     if (this._keyvalus != null)
     {
         if (this._keyvalus.KeyValues != null)
         {
             foreach (LibKeyValue item in this._keyvalus.KeyValues)
             {
                 this.listBox1.Items.Add(item);
             }
         }
     }
 }
Example #16
0
        //protected override void OnClick(EventArgs e)
        //{
        //    base.OnClick(e);

        //    MessageBox.Show("chufa  click");
        //}

        protected override void OnMouseClick(MouseEventArgs e)
        {
            #region 左键判断是否在关闭区域
            if (e.Button == MouseButtons.Left)
            {
                Point     p = e.Location;
                Rectangle r = GetTabRect(this.SelectedIndex);
                r.Offset(r.Width - iconWidth - 3, 2);
                r.Width  = iconWidth;
                r.Height = iconHeight;
                if (r.Contains(p)) //点击特定区域时才发生
                {
                    string temp = this.SelectedTab.Text;
                    if (temp[temp.Length - 5] == '*')//有变化才保存
                    {
                        //确认是否保存VSD文档到ft_doc_Path
                        DialogResult response = MessageBox.Show("是否保存故障树" + this.SelectedTab.Name + "到图形文件", "请确认", MessageBoxButtons.YesNoCancel,
                                                                MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
                        if (response == System.Windows.Forms.DialogResult.Yes)//确认保存
                        {
                            //axDrawingControl1.Document.SaveAs(GlobalVariables.ft_doc_Path + axDrawingControl1.Document.Title + ".vsd");//保存当前文档到文件夹
                            //string datetime = DateTime.Now.ToString();//获取当前时间
                            //helpTool.saveVsdDB(axDrawingControl1.Document.Title, datetime);//保存vsd文档到数据库
                            //helpTool.setDatetimeToXml(axDrawingControl1.Document.Title, datetime);//如果信息已存在则将xml中的日期更新,如果不存在直接插入
                            //this.SelectedTab.Text = temp.Substring(0, temp.Length - 5) + "   ";//保存后取消星号标志,还原为没变化的时候的样式
                        }
                        else if (response == System.Windows.Forms.DialogResult.Cancel) //点击取消或者关闭
                        {
                            return;                                                    //直接退出,撤销这次关闭程序的事件。
                        }
                    }
                    if (this.TabCount == 1)//是最后一个选项卡,直接关闭父界面,即画图界面
                    {
                        //father.DisposeForTabControl(true);
                        ModelDesignProject.RemoveDataSource(this.SelectedTab.Name.Split(SysConstManage.Underline)[0]);
                        this.TabPages.Remove(this.SelectedTab);
                    }
                    else//不是最后一个
                    {
                        this.TabPages.Remove(this.SelectedTab);
                    }
                }
            }
            #endregion
        }
Example #17
0
        /// <summary>保存</summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SaveBtn_Click(object sender, EventArgs e)
        {
            TabPage page = this.libTabControl1.SelectedTab;

            if (page.Text.Contains(SysConstManage.Asterisk))
            {
                string[] nameAndtype = page.Name.Split(SysConstManage.Underline);
                NodeType ntype       = LibSysUtils.ConvertToEnumType <NodeType>(nameAndtype[1]);
                switch (ntype)
                {
                case NodeType.DataModel:
                    ((DataSourceControl)page.Controls[0]).GetControlValueBindToDS();
                    break;

                case NodeType.FormModel:
                    ((FormTemplate)page.Controls[0]).GetControlValueBindToFM();
                    break;

                case NodeType.PermissionModel:
                    ((PermissionProperty)page.Controls[0]).GetControlsValue();
                    break;

                case NodeType.KeyValues:
                    ((KeyValuesControl)page.Controls[0]).GetControlValueBindToKeyValue();
                    break;

                case NodeType.ReportModel:
                    ((ReportSourceControl)page.Controls[0]).GetControlValueBindToRpt();
                    break;

                case NodeType.TransBillModel:
                    ((TransSourceControl)page.Controls[0]).GetControlValueBindToRpt();
                    break;
                }
                ModelDesignProject.SaveModel(nameAndtype[0], ntype);
                page.Text = page.Text.Replace(SysConstManage.Asterisk.ToString(), "");
            }
        }
Example #18
0
 private void toolbtCreateTableObj_Click(object sender, EventArgs e)
 {
     ModelDesignProject.CreateTableObj(ModelDesignProject.GetDataSource(this.tabControl1.SelectedTab.Name));
 }
Example #19
0
        private void contextMenuStrip2_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            LibTreeNode   curentNode        = (LibTreeNode)this.treeView1.SelectedNode;
            LibReportGrid currentlibrptgrid = _rpt.GridGroups.FindFirst("GridGroupID", curentNode.NodeId);

            switch (e.ClickedItem.Name)
            {
            case "AddFromDSField":     //添加数据源字段
                if (currentlibrptgrid.ReportFields == null)
                {
                    currentlibrptgrid.ReportFields = new LibCollection <LibReportField>();
                }
                var           existfields = currentlibrptgrid.ReportFields.Tolist();
                LibDataSource ds          = ModelDesignProject.GetDataSourceById(currentlibrptgrid.DSID);
                Panel         p           = new Panel();
                p.Dock       = DockStyle.Fill;
                p.Name       = "pfieldcollection";
                p.AutoScroll = true;
                TreeView tree = new TreeView();
                tree.AfterCheck += new TreeViewEventHandler(Gridtree_AfterCheck);
                tree.CheckBoxes  = true;
                tree.Dock        = DockStyle.Fill;
                p.Controls.Add(tree);
                LibTreeNode _node;
                if (ds.DefTables != null)
                {
                    List <ExistField> exists = new List <ExistField>();
                    foreach (var item in existfields)
                    {
                        exists.Add(new ExistField {
                            Name = item.Name, FromTableNm = item.FromTableNm
                        });
                    }
                    DSUtiles.GetAllFieldsByDS(ds, tree, exists);
                    #region 收集数据源字段
                    //foreach (LibDefineTable deftb in ds.DefTables)
                    //{
                    //    LibTreeNode deftbnode = new LibTreeNode();
                    //    deftbnode.Name = deftb.TableName;
                    //    deftbnode.Text = string.Format("{0}({1})", deftb.DisplayName, deftb.TableName);
                    //    tree.Nodes.Add(deftbnode);
                    //    if (deftb.TableStruct != null)
                    //    {
                    //        foreach (LibDataTableStruct dtstruct in deftb.TableStruct)
                    //        {
                    //            LibTreeNode dtstructnode = new LibTreeNode();
                    //            dtstructnode.Name = dtstruct.Name;
                    //            dtstructnode.Text = string.Format("{0}({1})", dtstruct.DisplayName, dtstruct.Name);
                    //            dtstructnode.NodeId = dtstruct.TableIndex.ToString();
                    //            deftbnode.Nodes.Add(dtstructnode);
                    //            if (dtstruct.Fields != null)
                    //            {
                    //                foreach (LibField fld in dtstruct.Fields)
                    //                {
                    //                    if (!fld.IsActive) continue;
                    //                    _node = new LibTreeNode();
                    //                    _node.Name = fld.Name;
                    //                    _node.Text = fld.DisplayName;
                    //                    _node.Tag = true;
                    //                    _node.Checked = existfields.FirstOrDefault(i => i.Name == fld.Name && i.FromTableNm == dtstruct.Name) != null;
                    //                    dtstructnode.Nodes.Add(_node);
                    //                    if (fld.SourceField != null && fld.SourceField.Count > 0)
                    //                    {
                    //                        foreach (LibFromSourceField fromfld in fld.SourceField)
                    //                        {
                    //                            if (fromfld.RelateFieldNm != null && fromfld.RelateFieldNm.Count > 0)
                    //                            {
                    //                                foreach (LibRelateField relateField in fromfld.RelateFieldNm)
                    //                                {
                    //                                    if (relateField != null)
                    //                                    {
                    //                                        _node = new LibTreeNode();
                    //                                        _node.Name = string.IsNullOrEmpty(relateField.AliasName) ? relateField.FieldNm : relateField.AliasName;
                    //                                        _node.Text = relateField.DisplayNm;
                    //                                        _node.Tag = false;
                    //                                        _node.Checked = existfields.FirstOrDefault(i => i.Name == _node.Name && i.FromTableNm == dtstruct.Name) != null;
                    //                                        dtstructnode.Nodes.Add(_node);
                    //                                    }
                    //                                }
                    //                            }
                    //                        }
                    //                    }
                    //                }
                    //            }
                    //        }
                    //    }
                    //}
                    #endregion
                }
                FieldCollectionForm fielsform = new FieldCollectionForm(p);
                DialogResult        dialog    = fielsform.ShowDialog(this);

                if (dialog == DialogResult.OK)
                {
                    curentNode.Nodes.Clear();
                    if (currentlibrptgrid.ReportFields != null && currentlibrptgrid.ReportFields.Count > 0)
                    {
                        currentlibrptgrid.ReportFields.RemoveAll();
                    }
                    foreach (LibTreeNode deftb in tree.Nodes)
                    {
                        foreach (LibTreeNode tbstruct in deftb.Nodes)
                        {
                            foreach (LibTreeNode f in tbstruct.Nodes)
                            {
                                if (!f.Checked)
                                {
                                    continue;
                                }
                                #region 添加节点
                                //树节点

                                LibTreeNode fieldNode = new LibTreeNode();
                                fieldNode.NodeId   = Guid.NewGuid().ToString();
                                fieldNode.NodeType = NodeType.GridGroup_Field;
                                fieldNode.Name     = f.Name;
                                fieldNode.Text     = fieldNode.Name;
                                curentNode.Nodes.Add(fieldNode);

                                //控件属性
                                ReportFieldProperty rptfieldProperty = new ReportFieldProperty(fieldNode.NodeId);
                                _reportFieldlst.Add(rptfieldProperty);
                                rptfieldProperty.Dock = DockStyle.Fill;
                                this.splitContainer1.Panel2.Controls.Add(rptfieldProperty);

                                //对应实体
                                LibReportField librptfield = new LibReportField();
                                librptfield.ID             = fieldNode.NodeId;
                                librptfield.Name           = f.Name;
                                librptfield.FromTableNm    = (bool)f.Tag? tbstruct.Name:string.Empty;
                                librptfield.FromDefTableNm = (bool)f.Tag ? deftb.Name:string.Empty;
                                librptfield.FromTableIndex = Convert.ToInt32(tbstruct.NodeId);
                                librptfield.DisplayName    = f.Text;
                                librptfield.Isdefine       = !(bool)f.Tag;

                                currentlibrptgrid.ReportFields.Add(librptfield);

                                rptfieldProperty.SetPropertyValue(librptfield, fieldNode);

                                #endregion
                            }
                        }
                    }
                    UpdateTabPageText();
                }
                break;

            case "AddDefineField":    //添加自定义字段
                break;
            }
        }
Example #20
0
 private void toolbtSave_Click(object sender, EventArgs e)
 {
     ModelDesignProject.DoSaveDS(ModelDesignProject.GetDataSource(this.tabControl1.SelectedTab.Name).DSID);
     MessageBox.Show("保存成功");
 }
Example #21
0
        private void ReportSourceControl_Load(object sender, EventArgs e)
        {
            _rpt = ModelDesignProject.GetLibReportsSourceById(_funNode.Name);

            LibTreeNode rptNode = new LibTreeNode();

            rptNode.Name     = _funNode.Name;
            rptNode.Text     = ReSourceManage.GetResource(NodeType.ReportPanel);
            rptNode.NodeType = NodeType.ReportPanel;
            if (_rpt.GridGroups != null)
            {
                foreach (LibReportGrid grid in _rpt.GridGroups)
                {
                    #region 创建表格组节点
                    LibTreeNode gdgroupNode = new LibTreeNode();
                    gdgroupNode.NodeId   = grid.GridGroupID;
                    gdgroupNode.NodeType = NodeType.GridGroup;
                    gdgroupNode.Name     = grid.GridGroupName;
                    gdgroupNode.Text     = grid.GridGroupDisplayNm;
                    rptNode.Nodes.Add(gdgroupNode);
                    #endregion
                    if (grid.ReportFields != null)
                    {
                        foreach (LibReportField fd in grid.ReportFields)
                        {
                            #region 创建表格组字段节点
                            LibTreeNode gdgroupfield = new LibTreeNode();
                            gdgroupfield.NodeType = NodeType.GridGroup_Field;
                            gdgroupfield.NodeId   = fd.ID;
                            gdgroupfield.Name     = fd.Name;
                            gdgroupfield.Text     = fd.Name;
                            gdgroupNode.Nodes.Add(gdgroupfield);
                            #endregion
                        }
                    }
                }
            }
            if (_rpt.Containers != null)
            {
                foreach (LibReportContainer container in _rpt.Containers)
                {
                    #region 创建栅格容器节点
                    LibTreeNode containerNode = new LibTreeNode();
                    containerNode.NodeId   = container.ContainerID;
                    containerNode.NodeType = NodeType.ReportContainer;
                    containerNode.Name     = container.ContainerNm;
                    containerNode.Text     = container.ContainerNm;
                    rptNode.Nodes.Add(containerNode);
                    #endregion
                    if (container.ReportRows != null)
                    {
                        foreach (LibReportRow row in container.ReportRows)
                        {
                            #region 栅格行节点
                            LibTreeNode rowNode = new LibTreeNode();
                            rowNode.NodeId   = row.RowID;
                            rowNode.NodeType = NodeType.ReportRow;
                            rowNode.Name     = row.RowNm;
                            rowNode.Text     = row.RowNm;
                            containerNode.Nodes.Add(rowNode);
                            #endregion
                            if (row.ReportCols != null)
                            {
                                foreach (LibReportColumn col in row.ReportCols)
                                {
                                    #region 栅格列节点
                                    LibTreeNode colNode = new LibTreeNode();
                                    colNode.NodeId   = col.ColumnID;
                                    colNode.NodeType = NodeType.ReportCol;
                                    colNode.Name     = col.ColumnNm;
                                    colNode.Text     = col.ColumnNm;
                                    rowNode.Nodes.Add(colNode);
                                    #endregion
                                    if (col.Elements != null)
                                    {
                                        foreach (LibReportElement ele in col.Elements)
                                        {
                                            #region 元素节点
                                            LibTreeNode eleNode = new LibTreeNode();
                                            eleNode.NodeId   = ele.ElementID;
                                            eleNode.NodeType = NodeType.ReportElement;
                                            eleNode.Name     = ele.ElementNm;
                                            eleNode.Text     = ele.ElementNm;
                                            colNode.Nodes.Add(eleNode);
                                            #endregion
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
            this.treeView1.Nodes.Add(rptNode);
            this.treeView1.SelectedNode = rptNode;
        }
Example #22
0
 public void InitializeControls()
 {
     ModelDesignProject.InternalBindControls <T>(this);
 }
Example #23
0
 public virtual void SetPropertyValue(T entity, LibTreeNode node)
 {
     this.entity = entity;
     ModelDesignProject.DoSetPropertyValue(this.Controls, entity);
 }
Example #24
0
        private void contextMenuStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            LibTreeNode curentNode = (LibTreeNode)this.treeView1.SelectedNode;

            switch (e.ClickedItem.Name)
            {
            case "andTransField":     //添加转单字段
                if (this._Trans.TransFields == null)
                {
                    _Trans.TransFields = new LibCollection <LibTransFieldMap>();
                }
                var existfields = _Trans.TransFields.Tolist();
                if (string.IsNullOrEmpty(_Trans.SrcProgId))
                {
                    ExceptionManager.ThrowError("来源单progid 必填");
                    //MessageHandle.ShowMessage("来源单progid 必填",false);
                }
                var           formpage = ModelDesignProject.GetFormSourceByFormId(_Trans.SrcProgId);
                LibDataSource ds       = ModelDesignProject.GetDataSourceById(formpage.DSID);
                Panel         p        = new Panel();
                p.Dock       = DockStyle.Fill;
                p.Name       = "pfieldcollection";
                p.AutoScroll = true;
                TreeView tree = new TreeView();
                //tree.AfterCheck += new TreeViewEventHandler(Gridtree_AfterCheck);
                tree.CheckBoxes = true;
                tree.Dock       = DockStyle.Fill;
                p.Controls.Add(tree);
                LibTreeNode _node;
                if (ds.DefTables != null)
                {
                    List <ExistField> exists = new List <ExistField>();
                    foreach (var item in existfields)
                    {
                        exists.Add(new ExistField {
                            Name = item.SrcFieldNm, FromTableNm = item.SrcTableNm
                        });
                    }
                    DSUtiles.GetAllFieldsByDS(ds, tree, exists);
                }
                FieldCollectionForm fielsform = new FieldCollectionForm(p);
                DialogResult        dialog    = fielsform.ShowDialog(this);
                if (dialog == DialogResult.OK)
                {
                    curentNode.Nodes.Clear();
                    if (_Trans.TransFields != null && _Trans.TransFields.Count > 0)
                    {
                        _Trans.TransFields.RemoveAll();
                    }
                    foreach (LibTreeNode deftb in tree.Nodes)
                    {
                        foreach (LibTreeNode tbstruct in deftb.Nodes)
                        {
                            foreach (LibTreeNode f in tbstruct.Nodes)
                            {
                                if (!f.Checked)
                                {
                                    continue;
                                }
                                #region 添加节点
                                //树节点

                                LibTreeNode fieldNode = new LibTreeNode();
                                fieldNode.NodeId   = Guid.NewGuid().ToString();
                                fieldNode.NodeType = NodeType.TransField;
                                fieldNode.Name     = f.Name;
                                fieldNode.Text     = fieldNode.Name;
                                curentNode.Nodes.Add(fieldNode);

                                //控件属性
                                TransFieldProperty fieldProperty = new TransFieldProperty(fieldNode.NodeId);
                                _transFieldlst.Add(fieldProperty);
                                fieldProperty.Dock = DockStyle.Fill;
                                this.splitContainer1.Panel2.Controls.Add(fieldProperty);

                                //对应实体
                                LibTransFieldMap libtransfield = new LibTransFieldMap();
                                libtransfield.ID         = fieldNode.NodeId;
                                libtransfield.SrcFieldNm = f.Name;
                                libtransfield.SrcTableNm = (bool)f.Tag ? tbstruct.Name : string.Empty;
                                //libtransfield.FromDefTableNm = (bool)f.Tag ? deftb.Name : string.Empty;
                                libtransfield.SrcTableIndex   = Convert.ToInt32(tbstruct.NodeId);
                                libtransfield.SrcFieldDisplay = f.Text;
                                //libtransfield.Isdefine = !(bool)f.Tag;

                                _Trans.TransFields.Add(libtransfield);

                                fieldProperty.SetPropertyValue(libtransfield, fieldNode);

                                #endregion
                            }
                        }
                    }
                    UpdateTabPageText();
                }
                break;
            }
        }
Example #25
0
 public void GetControlsValue()
 {
     ModelDesignProject.DoGetControlsValue(this.Controls, this.entity);
 }
Example #26
0
        public override void TextAndBotton_Click(object sender, EventArgs e)
        {
            base.TextAndBotton_Click(sender, e);
            Control ctl   = sender as Control;
            string  ctrNm = ctl.Name.Replace(SysConstManage.BtnCtrlNmPrefix, "");

            if (_Node != null)
            {
                var            pnode       = _Node.Parent as TreeNode;
                LibTransSource transSource = pnode.Tag as LibTransSource;
                if (string.Compare(ctrNm, "tranfld_TargetFieldNm") == 0)
                {
                    if (string.IsNullOrEmpty(transSource.TargetProgId))
                    {
                        ExceptionManager.ThrowError("目标单progid 必填");
                        //MessageHandle.ShowMessage("来源单progid 必填",false);
                    }
                    var           formpage = ModelDesignProject.GetFormSourceByFormId(transSource.TargetProgId);
                    LibDataSource ds       = ModelDesignProject.GetDataSourceById(formpage.DSID);
                    Panel         p        = new Panel();
                    p.Dock       = DockStyle.Fill;
                    p.Name       = "pfieldcollection";
                    p.AutoScroll = true;
                    TreeView tree = new TreeView();
                    tree.AfterCheck += new TreeViewEventHandler(tree_AfterCheck);
                    tree.CheckBoxes  = true;
                    tree.Dock        = DockStyle.Fill;
                    p.Controls.Add(tree);
                    //LibTreeNode _node;
                    if (ds.DefTables != null)
                    {
                        List <ExistField> exists = new List <ExistField>();
                        exists.Add(new ExistField {
                            Name = this.entity.TargetFieldNm, FromTableNm = this.entity.TargetTableNm
                        });
                        DSUtiles.GetAllFieldsByDS(ds, tree, exists);
                    }

                    FieldCollectionForm fielsform = new FieldCollectionForm(p);
                    DialogResult        dialog    = fielsform.ShowDialog(this);
                    if (dialog == DialogResult.OK)
                    {
                        foreach (LibTreeNode deftb in tree.Nodes)
                        {
                            foreach (LibTreeNode tbstruct in deftb.Nodes)
                            {
                                foreach (LibTreeNode f in tbstruct.Nodes)
                                {
                                    if (!f.Checked)
                                    {
                                        continue;
                                    }
                                    this.entity.TargetFieldNm      = f.Name;
                                    this.entity.TargetFieldDisplay = f.Text;
                                    this.entity.TargetTableNm      = (bool)f.Tag ? tbstruct.Name : string.Empty;
                                    this.entity.TargetTableIndex   = Convert.ToInt32(tbstruct.NodeId);
                                    break;
                                }
                            }
                        }
                        this.SetPropertyValue(this.entity, _Node);
                        UpdateTabPageText();
                    }
                }
            }
        }
Example #27
0
 public MainForm()
 {
     InitializeComponent();
     ModelDesignProject.InitialModelTree(this.treeView1);
 }
Example #28
0
        public override void DoFormAcceptMsg(string tag, Dictionary <object, object> agrs)
        {
            base.DoFormAcceptMsg(tag, agrs);
            if (string.Compare(tag, "NewFunc") == 0)//新建功能
            {
                if (agrs != null && agrs.Count() > 0)
                {
                    LibTreeNode funcNode = agrs["funcNode"] as LibTreeNode;
                    switch (funcNode.NodeType)
                    {
                    case NodeType.Func:
                        #region
                        //数据源节点
                        LibTreeNode ds = new LibTreeNode();
                        funcNode.CopyTo(ds);
                        ds.NodeType = NodeType.DataModel;
                        ModelDesignProject.CreatModelFile(ds);

                        funcNode.Nodes.Add(ds);
                        //排版模型节点
                        LibTreeNode form = new LibTreeNode();
                        funcNode.CopyTo(form);
                        form.NodeType = NodeType.FormModel;
                        ModelDesignProject.CreatModelFile(form);
                        funcNode.Nodes.Add(form);
                        //权限模型节点
                        LibTreeNode permission = new LibTreeNode();
                        funcNode.CopyTo(permission);
                        permission.NodeType = NodeType.PermissionModel;
                        ModelDesignProject.CreatModelFile(permission);
                        funcNode.Nodes.Add(permission);

                        this.treeView1.SelectedNode.Nodes.Add(funcNode);
                        ModelDesignProject.AddXmlNode(funcNode);
                        this.treeView1.SelectedNode = funcNode;
                        #endregion
                        break;

                    case NodeType.SpectFunc:
                        break;

                    case NodeType.ReportFunc:
                        #region 创建树形节点
                        LibTreeNode report = new LibTreeNode();
                        funcNode.CopyTo(report);
                        report.NodeType = NodeType.ReportModel;
                        ModelDesignProject.CreatModelFile(report);

                        funcNode.Nodes.Add(report);

                        //权限模型节点
                        LibTreeNode reportpermission = new LibTreeNode();
                        funcNode.CopyTo(reportpermission);
                        reportpermission.NodeType = NodeType.PermissionModel;
                        ModelDesignProject.CreatModelFile(reportpermission);
                        funcNode.Nodes.Add(reportpermission);

                        this.treeView1.SelectedNode.Nodes.Add(funcNode);
                        ModelDesignProject.AddXmlNode(funcNode);
                        this.treeView1.SelectedNode = funcNode;
                        #endregion
                        break;

                    case NodeType.DataModel:
                        break;

                    case NodeType.FormModel:
                        break;

                    case NodeType.PermissionModel:
                        break;

                    case NodeType.KeyValues:
                        ModelDesignProject.CreatModelFile(funcNode);
                        this.treeView1.SelectedNode.Nodes.Add(funcNode);
                        ModelDesignProject.AddXmlNode(funcNode);
                        this.treeView1.SelectedNode = funcNode;
                        break;

                    case NodeType.TransBillModel:
                        #region 创建树形节点
                        LibTreeNode trans = new LibTreeNode();
                        funcNode.CopyTo(trans);
                        trans.NodeType = NodeType.TransBillModel;
                        ModelDesignProject.CreatModelFile(trans);

                        this.treeView1.SelectedNode.Nodes.Add(trans);
                        ModelDesignProject.AddXmlNode(trans);
                        #endregion
                        break;
                    }
                }
            }
        }
Example #29
0
 private void treeView1_BeforeExpand(object sender, TreeViewCancelEventArgs e)
 {
     ModelDesignProject.GetChildNode((LibTreeNode)e.Node);
 }
Example #30
0
        private void treeView1_NodeMouseDoubleClick(object sender, TreeNodeMouseClickEventArgs e)
        {
            LibTreeNode node = (LibTreeNode)e.Node;

            if (node.NodeType != NodeType.Class && node.NodeType != NodeType.Func && node.NodeType != NodeType.ReportFunc)
            {
                #region  创建Tabpage
                string tabNm = string.Format("{0}{2}{1}", node.Name, node.NodeType.ToString(), SysConstManage.Underline);
                if (this.libTabControl1.TabPages.ContainsKey(tabNm))
                {
                    this.libTabControl1.SelectedTab = this.libTabControl1.TabPages[tabNm];
                    return;
                }
                TabPage page = new TabPage(string.Format("{0}({1})", node.Text, node.NodeType.ToString()));
                page.Name = tabNm;

                #endregion

                this.libTabControl1.TabPages.Add(page);
                this.libTabControl1.SelectedTab = page;
                switch (node.NodeType)
                {
                case NodeType.DataModel:
                    DataSourceControl dsControl = new DataSourceControl(node);
                    dsControl.Dock = DockStyle.Fill;
                    page.Controls.Add(dsControl);
                    break;

                case NodeType.FormModel:
                    FormTemplate fmControl = new FormTemplate(node);
                    fmControl.Dock = DockStyle.Fill;
                    page.Controls.Add(fmControl);
                    break;

                case NodeType.PermissionModel:
                    PermissionProperty permissionctrl = new PermissionProperty(node.Name);
                    permissionctrl.Dock = DockStyle.Fill;
                    page.Controls.Add(permissionctrl);
                    SDPCRL.COM.ModelManager.LibPermissionSource libpermission = ModelDesignProject.GetLibPermissionById(node.Name);
                    libpermission.Package = node.Package;
                    permissionctrl.SetPropertyValue(libpermission, node);
                    break;

                case NodeType.KeyValues:
                    KeyValuesControl keyvaluectrl = new KeyValuesControl(node);
                    keyvaluectrl.Dock = DockStyle.Fill;
                    page.Controls.Add(keyvaluectrl);
                    break;

                case NodeType.ReportModel:
                    ReportSourceControl reportSourceControl = new ReportSourceControl(node);
                    reportSourceControl.Dock = DockStyle.Fill;
                    page.Controls.Add(reportSourceControl);
                    break;

                case NodeType.TransBillModel:
                    TransSourceControl tranSourceControl = new TransSourceControl(node);
                    tranSourceControl.Dock = DockStyle.Fill;
                    page.Controls.Add(tranSourceControl);
                    break;
                }
            }
        }